2008-10-14 53 views
62

我刚刚添加了xUnit到我们的测试项目(对于Asserts,我们仍然使用MSTest作为框架),并立即拒绝执行测试。这是错误消息:MSTest运行失败,因为源程序集不受信任

无法对其进行排队试运行“{....}” 测试运行部署问题:文件或目录 “...... xUnit.dll”的 位置不值得信赖的。

+2

单击在VS2008内置的测试框架简单地报告“未执行”。这是多么的帮助! – 2009-02-09 10:17:21

+7

Jeez - 无论谁在MS决定一个位置需要被“信赖”才能运行一个fricken测试需要拍摄! – Calanus 2009-03-20 13:03:28

回答

98

我花了几次尝试在Google找到答案,所以我把它放在这里以防其他人遇到同样的问题。详细说明可在this blog posting找到。

基本上,修复会在Windows资源管理器中右键单击dll文件(例如xunit.dll),转到属性,然后单击“安全”文本旁边选项卡底部的“取消阻止”。看来Vista/Windows 2008会自动将来自其他机器或互联网的组件标记为不安全。

正如一些评论者所提到的,您可能还需要重新启动Visual Studio才能生效。

+1

由于一些奇怪的原因,我没有选择“解除锁定”。没有按钮。我的XP机器上安装了最新最好的安装程序。 – irperez 2009-05-27 20:49:00

+7

谢谢!做完这些之后,我必须重新启动Visual Studio以使测试正常运行。 – StriplingWarrior 2010-03-02 22:21:56

+1

为了说清楚,通过转到Windows资源管理器中的dll属性,而不是在Visual Studio中,可以进入“解除阻止”按钮。这使我困惑了一下。 – 2010-10-05 15:41:49

17

在我的团队中,我们遇到了同样的问题。

您的解决方案不起作用,但this post by Charles Sterling确实有帮助。

我们使用以下行:

caspol -machine -addgroup 1 -url file://\\server/share/* FullTrust -name DevShare 
10

有这个问题,燃烧时间试图让“解除阻止”坚持超过几分钟,和/或caspol搞清楚不果后,我最后通过Google发现了一些小内容,即在下次构建或重建项目时,程序集将再次被阻止,因为它们将从原始源位置重新复制。 (我想我从来没有注意到,这与引用组件发生过,但无论如何...)

我此修订是以下几点:

  1. 复制所有需要的DLL文件到另一个 现场安全-keeping

  2. 在Visual Studio中删除 引用

  3. 物理删除DLL文件在 bin文件夹

  4. 阻止这些DLL 单独在他们 被复制过

  5. 添加在Visual Studio从 引用 背部保持现货

每个后续的构建或重建工作现场罚款后。

1

我遇到了下载的DLL被Vista阻止的问题。 您需要管理员权限才能获取文件属性上的“解除阻止”按钮。 我简单地用源代码控制(TFS)中的最新版本替换了我之前提交过的DLL。

8

在XP机器上运行(即使安装了.NET 3.5 SP1)我无法获得此处列出的任何其他解决方案。

但如果同post by Charles Sterling是戴维·兰德曼引用,我终于有这个变化成功的工作:

  1. 运行.NET 2.0配置工具(设置...控制面板...管理工具... .NET Framework 2.0配置)
  2. 单击“我的电脑...运行时安全策略...机器...代码组... All_Code”
  3. 创建一个新的代码组,其成员条件为“区域” =“本地内联网”并分配权限设置“FullTrust”
  4. 重新启动Visual Studio

经过这些步骤后,我可以运行测试,包括重新启动和重建之后。

编辑:如this answer所述,您可能需要安装.NET SDK(与.NET框架不同),以便在您的系统上安装.NET 2.0配置工具。

4

我和moq有同样的问题。但不会“解锁”。每次我解开它,它仍然被阻止!?!?我不得不解除我下载的原始zip文件。然后再次从zip文件中复制DLL。它在那之后工作。

0

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

3

现在看起来很明显,但是当我点击取消阻止时,文件被设置为只读。

只有取消检查该属性后,应用,然后选择解锁,我真的得到了这个工作。

给一个去。

:)

PS:我也删除了所有旧的DLL在我的bin文件夹,只是为了确保Visual Studio中没有拿起旧的。

0

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

1
  • 转到file
  • 右键单击并选择Properties
  • 在第一次登记在Allow
相关问题