我刚刚将xUnit添加到我们的测试项目中(对于Asserts,我们仍然使用MSTest作为框架)并且测试运行立即拒绝执行任何测试.这是错误消息:
无法对测试运行"{....}"进行排队测试运行部署问题:文件或目录"... xUnit.dll"的位置不受信任.
Jedidja.. 98
我花了几次尝试在谷歌找到答案,所以我把它放在这里以防其他人遇到同样的问题.可以在此博客文章中找到详细说明.
基本上,修复程序会在Windows资源管理器中右键单击dll文件(例如xunit.dll),转到"属性",然后单击"安全"文本旁边选项卡底部的"取消阻止".似乎Vista/Windows 2008会自动将来自其他机器或互联网的程序集标记为不安全.
正如一些评论者所提到的,您可能还需要重新启动Visual Studio才能使其生效.
我花了几次尝试在谷歌找到答案,所以我把它放在这里以防其他人遇到同样的问题.可以在此博客文章中找到详细说明.
基本上,修复程序会在Windows资源管理器中右键单击dll文件(例如xunit.dll),转到"属性",然后单击"安全"文本旁边选项卡底部的"取消阻止".似乎Vista/Windows 2008会自动将来自其他机器或互联网的程序集标记为不安全.
正如一些评论者所提到的,您可能还需要重新启动Visual Studio才能使其生效.
在我的团队中,我们遇到了同样的问题.
你的解决方案不起作用,但Charles Sterling的这篇文章确实有所帮助.
我们使用以下行:
caspol -machine -addgroup 1 -url file://\\server/share/* FullTrust -name DevShare
在遇到这个问题和燃烧时间试图让"解锁"持续时间超过几分钟和/或搞清楚caspol无济于事之后,我终于通过谷歌找到了一点点,下次你建立时会再次阻止程序集或者重建项目,因为它们是从原始源位置重新复制的.(我想我从来没有注意到这发生在引用程序集之前,但无论如何......)
我对此的解决方法如下:
将所有需要的DLL复制到另一个位置以便安全保存
删除Visual Studio中的引用
物理删除bin文件夹中的DLL
在复制它们的位置单独解锁DLL
从保留点在Visual Studio中添加引用
之后的每个后续构建或重建都运行良好.
在XP机器上运行(即使安装了.NET 3.5 SP1)我也无法获得此处列出的任何其他解决方案.
然而,在戴维·兰德曼引用的查尔斯·斯特林的同一篇文章中,我终于成功了这个变化:
运行.NET 2.0配置工具(设置...控制面板...管理工具... .NET Framework 2.0配置)
单击"我的电脑...运行时安全策略...机器......代码组... All_Code"
创建一个成员条件为"Zone"="Local Intranet"的新代码组,并分配权限集"FullTrust"
重新启动Visual Studio
完成这些步骤后,我可以运行测试,包括重启和重建后.
编辑:如本回答所述,您可能需要安装.NET SDK(与.NET框架不同)才能在您的系统上安装.NET 2.0配置工具.