MSTest运行失败,因为源程序集不受信任
我只是将xUnit添加到我们的testing项目(对于Asserts,我们仍然使用MSTest作为框架),并立即拒绝执行任何testing。 这是错误信息:
无法排队testing运行“{….}”testing运行部署问题:文件或目录“… xUnit.dll”的位置不受信任。
我花了几次尝试在Googlefind答案,所以我把它放在这里,以防其他人遇到同样的问题。 详细的描述可以在这篇博文中find。
基本上,修复会在Windows资源pipe理器中右键单击dll文件(例如xunit.dll),然后转到属性,然后单击“安全”文本旁边选项卡底部的“取消阻止”。 看来,Vista / Windows 2008将自动将来自其他机器或互联网的程序集标记为不安全。
正如一些评论者所提到的,您可能还需要重新启动Visual Studio才能生效。
在我的团队中,我们遇到了同样的问题。
你的解决scheme不起作用,但查尔斯·斯特林(Charles Sterling)的这篇文章确实有帮助
我们使用了以下行:
caspol -machine -addgroup 1 -url file://\\server/share/* FullTrust -name DevShare
在这个问题和燃烧时间试图让“解锁”坚持长于几分钟和/或搞清楚卡斯波尔无济于事,我终于发现通过谷歌一点点消息,组装将被阻止下一次,当你build立或重build项目,因为它们是从原始源位置重新复制的。 (我想我从来没有注意到,这引发程序集之前,但无论如何…)
我的解决方法如下:
-
将所有需要的DLL复制到另一个地方以保持安全
-
在Visual Studio中删除引用
-
物理删除bin文件夹中的DLL
-
在被复制的地方分别解锁DLL
-
在持有现场的Visual Studio中添加引用
随后的每一次build造或重build工作都很好。
在XP机器上运行(即使安装了.NET 3.5 SP1)我无法得到任何其他解决scheme在这里列出的工作。
不过,戴维·兰德曼(Davy Landman) 在查尔斯·斯特林(Charles Sterling)的同一篇文章中提到过,
- 运行.NET 2.0configuration工具(设置…控制面板…pipe理工具… .NET Framework 2.0configuration)
- 点击“我的电脑…运行时安全策略…机器…代码组… All_Code”
- 创build一个成员条件为“Zone”=“本地Intranet”的新代码组,并将权限设置为“FullTrust”
- 重新启动Visual Studio
经过这些步骤后,我可以运行testing,包括重新启动和重build之后。
编辑:如在这个答案中所描述的,您可能需要安装.NET SDK(与.NET框架不同),以便在您的系统上安装.NET 2.0configuration工具。
我和moq有同样的问题。 但是不会“解锁”。 每当我解开它,它仍然被阻止!?!?
我不得不解除我下载的原始zip文件。 然后再次从zip文件中复制DLL。 它在那之后工作。
现在看起来似乎很明显,但是当我点击取消阻止时,文件被设置为只读。
只有在取消该属性后,应用,然后select解除封锁,我真的得到了这个工作。
放弃一下。
🙂
PS:我也删除了我的bin文件夹中的所有旧的dll,只是为了确保Visual Studio没有select旧的dll。
我有与Vista被阻止下载的DLL相同的问题。 您需要pipe理员权限才能获取文件“属性”中的“解除阻止”button。 我简单地用源代码pipe理 (TFS)中的最新版本replace了我之前提交过的DLL 。
- 去
file
- 右键单击并select
Properties
- 在第一个注册点击
Allow
我也尝试在记事本++中打开文件,并重命名它。 略有不同的方法,但它为我工作。 本地文件系统然后认为它来自同一台机器。
这不仅仅是需要解锁的moq.dll。 最新的zip文件包含moq.xml和moq.pdb文件 – 引用dll将这两个文件复制到bin文件夹中。 如果所有三个都没有被解除封锁testing将不会运行,我发现。