更改单元测试的安全策略

时间:2011-10-11 10:33:24

标签: c# unit-testing

我编写的单元测试失败,出现以下错误消息。

This method explicitly uses CAS policy, which has been obsoleted by the .NET Framework. In order to enable CAS policy for compatibility reasons, please use the NetFx40_LegacySecurityPolicy configuration switch. Please see http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

如果您愿意,链接建议您启用NetFx40_LegacySecurityPolicy。我修改了我的单元测试配置如下:

 <?xml version="1.0" encoding="utf-8" ?>
   <configuration>
     <appSettings>
       <add key="TestValue" value="true" />
     </appSettings>
   <runtime>
     <NetFx40_LegacySecurityPolicy enabled="true"/>
   </runtime>
 </configuration>`

但我仍然收到错误消息。我在它上面有一个测试来确保正在读取配置文件(测试TestValue是真的)。解决这个问题的另一种可能性是将项目使用的.NET版本更改为2.0而不是4.0,但Visual Studio会说

You cannot change the specified .NET framework version or profile for a test project

1 个答案:

答案 0 :(得分:0)

单元测试由C:\ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ QtAgent32.exe运行,因此将标志添加到QtAgent32.exe.config修复了此问题。