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项目,因为它们是从原始源位置重新复制的。 (我想我从来没有注意到,这引发程序集之前,但无论如何…)

我的解决方法如下:

  1. 将所有需要的DLL复制到另一个地方以保持安全

  2. 在Visual Studio中删除引用

  3. 物理删除bin文件夹中的DLL

  4. 在被复制的地方分别解锁DLL

  5. 在持有现场的Visual Studio中添加引用

随后的每一次build造或重build工作都很好。

在XP机器上运行(即使安装了.NET 3.5 SP1)我无法得到任何其他解决scheme在这里列出的工作。

不过,戴维·兰德曼(Davy Landman) 在查尔斯·斯特林(Charles Sterling)的同一篇文章中提到过,

  1. 运行.NET 2.0configuration工具(设置…控制面板…pipe理工具… .NET Framework 2.0configuration)
  2. 点击“我的电脑…运行时安全策略…机器…代码组… All_Code”
  3. 创build一个成员条件为“Zone”=“本地Intranet”的新代码组,并将权限设置为“FullTrust”
  4. 重新启动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
  • 右键单击并selectProperties
  • 在第一个注册点击Allow

我也尝试在记事本++中打开文件,并重命名它。 略有不同的方法,但它为我工作。 本地文件系统然后认为它来自同一台机器。

这不仅仅是需要解锁的moq.dll。 最新的zip文件包含moq.xml和moq.pdb文件 – 引用dll将这两个文件复制到bin文件夹中。 如果所有三个都没有被解除封锁testing将不会运行,我发现。