在Visual Studio 2017中调试c#API编码时遇到问题。调试未启动并显示错误消息,例如
关于此错误消息有任何想法吗?
Answers:
如果您是从Internet下载的文件,无论是单独下载还是位于.zip文件或类似文件中,则可能已被“锁定”,因为它被标记为来自Internet区域。许多程序会将其用作不应该信任内容的标志。
最简单的解决方案是右键单击Windows资源管理器中的文件,选择“属性”,然后在此对话框的底部,您应具有“取消阻止”选项。请记住单击确定以接受更改。
如果您从存档中获取文件,通常最好先取消阻止存档,如果该文件被标记为来自Internet区域,并且您将其解压缩,则该标志可能会传播到您刚刚取消存档的许多文件中。如果先取消阻止,则未存档的文件应该没问题。
还有一个Powershell命令,Unblock-File:
> Unblock-File *
此外,还有一些编写代码的方法也可以删除该锁定。
来自@ Defcon1的评论:您还可以结合Unblock-File
使用Get-ChildItem
以创建一个递归解锁文件的管道。由于Unblock-File
无法自行递归查找文件,因此您必须使用Get-ChildItem
这一部分。
> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
ps> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
unblock
选择。
这些答案都不适合我,我必须执行以下操作:
资料来源:https : //superuser.com/q/44503
file://domain.com
工作,谢谢!上下文:大型服务器大修将我们的文件移动到了DFS;Windows域是domain.com
文件所在的位置,\\domain.com\...
这可能已经触发了问题。
.sln
在本地网络中建立内部网络共享。错误消息为:error MSB3821: Couldn't process file *.resx due to its being in the Internet or Restricted zone or having the mark of the web on the file. Remove the mark of the web if you want to process these files.
补充@ lasse-v-karlsen答案。要以递归方式取消阻止所有文件,请以管理员身份从powershell以所需的文件夹运行:
gci -recurse | Unblock-File
源链接:如何取消阻止从Internet下载的文件?-Winhelponline
https://www.winhelponline.com/blog/bulk-unblock-files-downloaded-internet/
解决方案:编辑并保存文件!
从VisualStudio转到“视图”并展开以查看它的resx文件
右键单击菜单,选择OpenWith ... XML(文本)编辑器。
只需在末尾添加一个空格并保存即可。
我的解决方案中的resx文件存在此问题。我正在使用Onedrive。但是,以上解决方案均无法解决该问题。
问题是我使用的图标位于Windows的MyWindow.resx文件中。
我将其删除,然后从“应用程序本地资源”资源文件夹中获取了该图标。
private ResourceManager rm = App_LocalResources.LocalResources.ResourceManager;
..
InitializeComponent();
this.Icon = (Icon)rm.GetObject("IconName");
这是在更新到VS2019之后发生的。
我偶然发现了此错误的另一个可能原因。如果在项目树中使用NTFS符号链接,并且驱动器可能被替换,即使它们指向本地驱动器,也可能会出现此错误。如果是这种情况,请尝试避免通过符号链接访问.resx文件的情况。