2010-08-09 16 views

cevap

8

Bu geç bir 'küçük' olabilir, ama sadece aynı sorunla karşılaştı ve yana /p:RunCodeAnalysis=false benim için çalışmaz:

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

Bu, Şubat 2011 itibariyle the code contracts documentation'a göre ve deneyimlerime göre çalışıyor.

2

şu yapmalı:

MSBuild ... /p:RunCodeAnalysis=false 
1

Parametreleri msbuild'e geçirmek istemiyorsanız veya Visual Studio'dan oluşturuyorsanız, statik kod sözleşmelerinin denetim ve kod çözümlemesini bastırmanın bir yolu vardır.

Uyarı: her * .csproj dosyası şunu içerir: <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />. .Net 4.0 MSBuild.exe ve Microsoft.CSharp.targets yolu için

gibi Project içinde yeni PropertyGroup ekle Açık Microsoft.CSharp.targets"C:\Windows\Microsoft.NET\Framework\v4.0.30319\"

geçerli: Msbuild komut satırı argümanları (taklit edecek Aksi

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

yani /p:CodeContractsRunCodeAnalysis=false,RunCodeAnalysis=Never,CodeContractsReferenceAssembly=DoNotBuild

Artık tüm yapıtlarınız PC'nizde (MSBuild ve Visual Studio'dan) kodunuzu atlayacaktır. Statik kod sözleşmeleri analizi, bu yüzden Komut Satırından gelen kodları geçmeniz gerekmez.

İlgili konular