无法加载文件或程序集,不支持该操作。(来自 HRESULT: 0x80131515 的异常)

87

当我通过计划任务从一个小的控制台工具中使用 vstest.console.exe 运行 CodedUI 测试时,有时会在不同的计算机上看到这个错误消息:

错误: 无法加载文件或程序集“file:///C:\foobar.dll”或其相关性之一。操作不受支持。(HRESULT 为“0x80131515”的异常)

为什么/这是什么不被支持的?

5个回答

184

右键单击 DLL 文件并解除其锁定。


1
正如我在答案中提到的,这是一个可能的原因,但并不适用于我。文件是通过USB驱动器/网络复制的,而不是从互联网上下载的。 - magicandre1981
5
如果您的 ZIP 文件中有多个 DLL,则可以在解压缩之前对此 ZIP 文件使用“解除锁定”操作。然后,您就不必分别解除锁定每个 DLL。 - Fenix

47

在我的研究中,我发现如果你从互联网下载了测试ZIP文件并且建议你解除ZIP文件的锁定,则可能会出现此问题。但是我将文件从我的开发系统复制到测试PC上,并且这些文件没有被锁定。

搜索错误代码0x80131515我在MSDN论坛中找到了这个答案

所以我编辑了文件

C:\ Program Files(x86)\ Microsoft Visual Studio   11.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ vstest.console.exe.config

并在运行时标记下添加了条目<loadFromRemoteSources enabled="true" />,问题迎刃而解,在预定任务中运行测试时没有任何问题。

也许这可以帮助其他遇到此奇怪问题的用户。


1
在 VS 10.0 中,我在哪里可以找到这个配置文件? - Ruslan_K
@user3373603 你有检查过"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe.config"吗?但我不确定VS2010是否已经有这个文件。我认为这里只包括旧的mstest.exe,所以请编辑"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\MSTest.exe.config"。 - magicandre1981
无法工作,但Raj所提供的答案非常好。 - Bravo
2
@Bravo,下次请仔细阅读,我也发布了解除封锁zip文件的方案 facepalm - magicandre1981

16

如先前所述,当从不可信的网站下载Zip文件时会被阻止。如果您确信该网站是可靠的,则可以通过将其添加到Internet Explorer->工具菜单->Internet选项->安全选项卡->可信任站点中来防止此行为。未来的下载将不会被标记为已阻止。

对于已经提取的被阻止的文件,请在PowerShell提示符下运行以下命令以取消所有当前文件夹及其子文件夹中的文件阻止:

Get-ChildItem *.* -Recurse | Unblock-File

谢谢,其他选项会带来安全风险。因为下载给我的文件来自OneDrive,这太普通了,不允许使用。对我来说,使用远程源不安全,因为会为不良实践打开大门。这个PS脚本解决了所有问题。 - DerDee

10

1) 打开exe文件,点击属性

2) 点击取消阻止按钮

然后问题就解决了


0

对我来说,我需要在应用程序设置中设置启动对象。

在“解决方案资源管理器”中右键单击项目名称。点击属性。转到“应用程序”选项卡,从“启动对象”下拉菜单中选择正确的方法。

我的未设置,导致间歇性编译错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接