我們在我們所有的源文件上運行代碼分析。我們的一個源文件是Linq-To-SQL生成的文件,我們無法控制生成的輸出。生成的代碼正在生成我想要禁止的代碼分析警告。有沒有什麼辦法可以在代碼生成的文件中抑制CA警告,而不需要在代碼本身中創建屬性和/或編譯指示(每次生成文件時都會覆蓋)?代碼分析生成的代碼生成文件 - 如何抑制警告?
回答
你的類是否有[GeneratedCode]屬性?如果是這樣,你可以得到的FxCop忽略它們:
使用的FxCop的項目:
- 在FxCop的打開你的FxCop項目
- 選擇項目 - >選項 - >拼寫&分析
- 檢查針對生成的代碼抑制分析結果
- 單擊確定
通過命令行:
- 傳遞/ ignoregeneratedcode開關,例如:
FxCopCmd.exe /file:MyAssembly.dll /out:AnalysisResults.xml /ignoregeneratedcode
如果您使用的是FxCop的GUI,你可以簡單地排除FxCop項目中的這些問題。只需右鍵單擊該問題,然後選擇排除您可以在其中添加評論。
但如果你在輸出窗口中運行的FxCop我沒有線索。也許你可以檢查是否可以創建一個模塊級別的SuppressMessage並將其粘貼到AssemblyInfo.cs中。但我不這麼認爲。
有一個相關的問題另一個答案在這裏,這樣表明你可以在模塊級抑制添加到AssemblyInfo.cs中,但我只是想它,不能讓它的工作。我可以將SuppressMessage添加到每個單獨的方法中,但是當我想忽略特定程序集中的所有內容時,這是一個非常痛苦的脖子。希望有人會用這個解決方案來回答! – Dave 2010-03-29 23:53:56
通過使用您自己的部分類的分支來應用該屬性,可以解決缺少GeneratedCode
屬性的問題。這將意味着您添加的任何自定義代碼(包括實施部分方法)將被排除。例如:
namespace MyApp.DB {
[GeneratedCode("LINQ To SQL", "4.0")]
internal partial class MyAppDataContext {
}
// Repeat for each entity
}
PLINQO (Linq-to-SQL) CodeSmith templates也會自動爲您生成此屬性。大多數加載項也開始忽略文件名中使用「.generated」生成的部分類。
[System.CodeDom.Compiler.GeneratedCode( 「CodeSmith中」, 「5.0.0.0」)]
- 1. 代碼合同。如何抑制生成的代碼警告?
- 2. 如何在生成的代碼中抑制代碼分析?
- 3. 如何配置StyleCop以抑制生成的代碼警告?
- 4. 如何在生成的代碼中抑制警告?
- 5. 代碼生成wreorder警告
- 6. 代碼分析在biztalk 2009生成的代碼上運行
- 7. 下面的代碼生成警告
- 8. 實體框架生成的代碼引發的警告在代碼分析
- 9. 如何強制SilverLight在生成的代碼文件夾中生成代碼?
- 10. 抑制Web Site Visual Studio項目後面生成代碼的構建警告
- 11. 生成不生成代碼
- 12. 如何設計生成Python代碼的代碼生成器
- 13. 代碼生成
- 14. 有沒有辦法抑制FindBugs對靜態編織生成的代碼生成警告?
- 15. 如何使用jooq代碼生成器與maven生成代碼
- 16. xtext代碼生成,如何避免代碼生成一行?
- 17. 如何使用寧靜代碼生成器生成代碼(.ts)
- 18. 抑制靜態代碼分析警告TryParse調用CA1806
- 19. 生成文件的視覺工作室代碼分析
- 20. .NET代碼分析警告
- 21. 如何生成c#代碼?
- 22. 動態生成代碼的代碼覆蓋率,分析和性能分析
- 23. 生成條件僞代碼
- 24. C#代碼生成
- 25. MD5代碼生成
- 26. C++代碼生成
- 27. 如何修復代碼分析警告
- 28. 原生代碼生成
- 29. Java代碼生成
- 30. 生成該代碼
不SuppressMessage作品,如果我打電話使用命令行fxcopcmd.exe? – Kiquenet 2013-01-31 15:36:10
是它應該做的 – Paolo 2013-02-01 11:10:02