我想讓TeamCity構建我的C#解決方案並執行StyleCop,如果存在任何違規,則無法執行構建。我希望它的執行方式與在Visual Studio的「解決方案資源管理器」中右鍵單擊解決方案時相同,然後單擊「Run StyleCop
」,但我希望將警告視爲錯誤。驗證TeamCity中的StyleCop
我試過this answer中的建議,但是我在實現它時遇到了一些問題。
的問題是:
<CreateItem Include="$(SourceFolder)\**\*.cs">
是包括在文件夾結構中的所有文件.cs
併爲每個項目不尊重個人了StyleCop設置(例如要排除的文件)。
另一種選擇是有一個build.xml
文件,以便它可以被MSBuild引用。但是,這意味着要維護XML文件以及.sln
文件。我沒有找到this answer這意味着你可以包括像在XML解決方案引用,以便
<include name="MyTopSecretApplication.sln"/>
但由於某種原因它不經過編譯的文件時,我有我的CreateItem
設定爲
<CreateItem Include="@(Compile)">
如果設置了condition
(根據下面)(理由是因爲XML文件包括.sln
意味着編譯的文件沒有通過),理論上應該通過編譯的文件並尊重包含/排除設置。
Condition="('%(Compile.ExcludeFromStyleCop)' != 'true') and ('%(Compile.ExcludeFromSourceAnalysis)' != 'true')"
有沒有好的方法可以讓我得到的MSBuild打造的TeamCity我的解決方案文件,驗證了StyleCop遵守規則,尊重每個項目的規則StyleCop的?