3
我在其中一個項目中使用了代碼生成工具(在本例中爲實體框架),並生成導致編譯器發出警告的代碼。我想忽略特定文件集的這些警告。我首先想到的是,我也許能在語義上設立ItemGroup
設置每個文件的屬性爲編譯器,像這樣:在基於元數據的構建目標輸入項上設置MSBuild屬性
<ItemGroup>
<Files Include="Migrations/**/*.cs">
<Properties>
<DisabledWarnings>CS12345;CS4321</DisabledWarnings>
</Properties>
</Files>
</ItemGroup>
我認識到,這是無效的MSBuild的語法,但它表達我想要做的事情的本質。
這個問題似乎有點相關:Using Item functions on metadata values
有沒有辦法做到這一點?
這幾乎是你使用的msbuild語法,如果它是C++的(文件名爲ClCompile,選項是DisableSpecificWarnings而不是DisabledWarnings)。不幸的是,我不認爲可以將每個文件的編譯選項傳遞給C#的Csc任務。要解決這個問題,您可以在自定義預構建步驟中單獨編譯這些文件,或者將它們移動到單獨的項目中。或者希望擁有更多C#知識的其他人知道傳遞每個文件選項的方法。 – stijn