6

私のプロジェクトでは、静的チェックが無効になっていますが、それでも、cmdを指定してmsbuild.exeを実行すると、プロジェクトごとに静的チェックが開始されます...パラメーターを使用してこれを無効にする方法はありますか?

4

3 に答える 3

8

これは「少し」遅いかもしれませんが、同じ問題に遭遇したばかりで、うまくいき/p:RunCodeAnalysis=falseません。

試してみてくださいmsbuild ... /p:CodeContractsRunCodeAnalysis=false

コード コントラクトのドキュメントと私の経験によると、これは 2011 年 2 月の時点で機能します。

于 2011-02-21T19:43:02.677 に答える
2

次のようにする必要があります。

MSBuild ... /p:RunCodeAnalysis=false
于 2010-08-09T19:59:15.150 に答える
1

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 に新しい追加を開きます:PropertyGroupProject

<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

PC 上のすべてのビルド (MSBuild と Visual Studio のいずれかから) は、コードと静的コード コントラクトの分析をスキップするため、コマンド ラインから引数を渡す必要はありません。

于 2013-08-22T16:01:07.557 に答える