2010-08-09 18 views

Respuesta

8

Esto podría ser un 'pequeño' tarde, pero ya que acabo encontré con el mismo problema y /p:RunCodeAnalysis=false no funciona para mí:

Trate msbuild ... /p:CodeContractsRunCodeAnalysis=false.

Eso funciona a partir de febrero de 2011 de acuerdo con the code contracts documentation y mi experiencia.

2

Lo siguiente debe hacerlo:

MSBuild ... /p:RunCodeAnalysis=false 
1

Si no desea pasar parámetros a msbuild o está compilando desde Visual Studio, hay una forma de suprimir el control de contratos de códigos estáticos y el análisis de códigos.

Aviso: cada archivo * .csproj contiene esto: <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />.

Para .Net 4.0 msbuild.exe y Microsoft.CSharp.targets ruta es "C:\Windows\Microsoft.NET\Framework\v4.0.30319\"

abierto Microsoft.CSharp.targets Añadir nueva PropertyGroup dentro Project como:

<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> 

Si lo hace, emular a los argumentos de línea de comando (es decir msbuild /p:CodeContractsRunCodeAnalysis=false,RunCodeAnalysis=Never,CodeContractsReferenceAssembly=DoNotBuild

Todas sus compilaciones ahora en su pc (ya sea de MSBuild y Visual Studio) omitirán el código a nd Análisis de contratos de código estático, por lo que no es necesario pasar argumentos desde la línea de comandos.

Cuestiones relacionadas