在我的項目中,靜態檢查被禁用,但仍然,當我用cmd運行msbuild.exe時,它開始爲每個項目進行靜態檢查......有沒有一種方法可以用參數禁用它?有沒有辦法讓MsBuild運行代碼合同的靜態合同分析?
6
A
回答
8
這可能是一個「小」晚了,但因爲我剛剛遇到了同樣的問題,/p:RunCodeAnalysis=false
不爲我工作:
嘗試msbuild ... /p:CodeContractsRunCodeAnalysis=false
。
根據the code contracts documentation和我的經驗,它的工作原理是2011年2月。
2
下應該這樣做:
MSBuild ... /p:RunCodeAnalysis=false
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
內Project
添加新PropertyGroup
,如:
<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)都會跳過代碼a nd靜態代碼合同分析,所以你不需要從命令行傳遞參數。
相關問題
- 1. 是否有可能看到代碼合同靜態分析器的進度?
- 2. 在代碼合同中使用System.Reflection靜態分析
- 3. 代碼合同+代碼分析
- 4. 代碼合同與代碼分析器
- 5. 有沒有辦法配置MSVS靜態代碼分析的細節?
- 6. 可以讓代碼分析瞭解代碼合同嗎?
- 7. 代碼契約靜態分析儀無法檢測瑣碎違反合同
- 8. 我可以手動運行代碼合同分析嗎?
- 9. 有沒有辦法讓我的代碼在代碼中開始?
- 10. 啓動並運行代碼合同
- 11. 代碼合同在運行時
- 12. 有沒有辦法將python代碼合併到moinmoin頁面中?
- 13. 有沒有辦法將Fitnesse整合到C++代碼中?
- 14. 有沒有辦法讓飛鏢編輯器始終運行相同的命令?
- 15. 有沒有辦法在Laravel 4中混合靜態和動態路由?
- 16. 有沒有辦法同步不同的Word文檔的部分?
- 17. 是否有JavaScript的代碼合同庫?
- 18. 有沒有辦法用不同的配置文件運行NUTCH?
- 19. 有沒有辦法調試在`multiprocessing.Process`上運行的Python代碼?
- 20. 有沒有辦法讓Zurb Foundation靜態/無響應?
- 21. 有沒有辦法讓Flash強制靜態打字?
- 22. 有沒有辦法讓計算機關機時運行python代碼?
- 23. 有沒有辦法讓@ModelAttribute動態?
- 24. 有沒有JavaScript靜態分析工具?
- 25. 代碼運行但不符合合同中的前提條件
- 26. 靜態代碼分析:方法參數上的所有調用
- 27. 有沒有辦法在運行時用C代碼獲取源代碼行號?
- 28. 靜態代碼分析Java
- 29. 有沒有辦法同時運行黃瓜場景
- 30. 有沒有辦法同時運行RPM安裝?