Изменение политики безопасности для юнит-теста - PullRequest
1 голос
/ 11 октября 2011

Проведенный мной модульный тест завершается неудачей со следующим сообщением об ошибке.

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 <a href="http://go.microsoft.com/fwlink/?LinkID=155570" rel="nofollow">http://go.microsoft.com/fwlink/?LinkID=155570</a> 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 голосов
/ 11 октября 2011

Модульные тесты запускаются C: \ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ QtAgent32.exe, поэтому добавление флага в QtAgent32.exe.config устранило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...