Если вы не хотите передавать параметры в msbuild или строите из Visual Studio, есть способ подавить проверку контрактов статического кода и анализ кода.
Примечание: каждый файл * .csproj содержит: <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
.
Для .Net 4.0 msbuild.exe и Microsoft.CSharp.targets
путь равен "C:\Windows\Microsoft.NET\Framework\v4.0.30319\"
Открыто Microsoft.CSharp.targets
Добавить новый PropertyGroup
внутри Project
как:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
...
<PropertyGroup>
<CodeContractsRunCodeAnalysis>false</CodeContractsRunCodeAnalysis>
<RunCodeAnalysis>Never</RunCodeAnalysis>
<CodeContractsReferenceAssembly>DoNotBuild</CodeContractsReferenceAssembly>
</PropertyGroup>
...
<!-- a lot of stuff -->
...
</Project>
Это будет эмулировать аргументы командной строки msbuild (т.е. /p:CodeContractsRunCodeAnalysis=false,RunCodeAnalysis=Never,CodeContractsReferenceAssembly=DoNotBuild
Все ваши сборки сейчас на вашем компьютере (из MSBuild и Visual Studio) будут пропускать анализ кода и статический анализ контрактов, поэтому вам не нужно передавать аргументы из командной строки.