CI サーバーの MSBuild 14 で MSB3884 がでるのをパラメーターで回避する
"C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe" Test1.sln /nologo /verbosity:m /t:Rebuild
Visual Studio がインストールされていない CI サーバーで msbuild を実行すると
16:01:58 C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.CSharp.CurrentVersion.targets(133,9): warning MSB3884: 規則セット ファイル "ManagedMinimumRules.ruleset" を検出できませんでした。
こんな警告が出る
GitHub にこの現象の issue があって、Rule Sets フォルダのファイルをコピーしてレジストリ修正すればよいとある。そもそも CodeAnalysis がしたいわけじゃないのになんだかなあと思って、ソースコードを読んでみたら CodeAnalysisRuleSet
パラメーターを空にしたらよさそうだったので、こんな感じで回避した。
"C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe" Test1.sln /nologo /verbosity:m /t:Rebuild /p:CodeAnalysisRuleSet=