解決策は、プロジェクト用の(ちょっとばかげた)コンテナです。テキストエディタで開くとすぐに拡張することはできず、プロジェクトやアイテムだけを追加することができます。
コンパイラ/リンカ/ツールに必要なすべてのオプションを指定する1つ以上の共通のmsbuildファイルがあり、すべての単一プロジェクトでImport
です。私たちはこれを長年にわたって使ってきましたが、便利です(手軽にグローバルプロパティをインポートするプロジェクトファイルを生成する小さなツールを作成して手動で処理する必要はありません)
また、マシンワイドファイルを追加するには、$(MSBuildToolsPath)\ Microsoft.CSharp.targetsを参照して、これらのファイルの場所を確認します。私はここでコンテンツをコピー/ペーストするつもりはありませんが、最初の行は基本的に$(MSBuildExtensionsPath)\ $(MSBuildThisFile)\ $(MSBuildThisFile)\ ImportBeforeなどのユーザー定義ファイルがあるかどうかを確認します。すべての共通のmsbuildの前にインポートされています。同様に、Microsoft.CSharp.targetsの最後には、すべての共通のmsbuildの後にファイルをインポートする同様のロジックが含まれています。
これらの設定はソリューションには保存されていないため、マクロを記述するのは難しいです。 – rene
複数のプロジェクトで同じルールセットファイルを使用できます。すでにそれを行っていると仮定し、各プロジェクトでそのファイルを手動で指定しないようにする方法が必要ですか? –
私はちょうどこれらの事を深く掘り起こし始めました。だから私は本当にわからないと言わなければならない。私はルールセットがコード分析のために定義されていると思っており、それはコンパイラの警告とは異なるものだと思っていました。これまで私はルールセットに触れていませんでした... – jumbo