次の出力間の2つの不一致を解決しようとしています:
- Windows 8 / Visual Studio 2015 / MSBuild および
- Debian 8.2 / Mono バージョン 4.6.2.0 / XBuild エンジン バージョン 14.0
これらの問題は両方とも、こちらのサンプル リポジトリで詳しく説明されています 。
というタイトルの最初の問題はMono Missing Satellite Assembly Custom Attributes and Version
、保留中の PR https://github.com/mono/mono/pull/3463によって解決され、このコンパイラのバグで指摘されています https://bugzilla.xamarin.com/show_bug .cgi?id=12671
ただし、2 番目の問題に関する情報が見つかりません。
.exe または .dll を右クリックして詳細タブを表示して言語プロパティを表示すると、MSBuild と XBuild の出力に違いがあるように見えます。サテライト アセンブリがある場合は、さらに違いがあります。
MSBuild : 予想どおり、メイン アセンブリには詳細タブ言語 (技術的には、DLL/EXE が Visual Studio で開かれ、値が検査された場合のブロック ヘッダー) = 言語ニュートラルがあります。
同様に、MSBuild de-DE サテライト アセンブリ .dll には、detail-tab language = Language Neutral があります。
組み立て:
サテライト アセンブリ:
Mono / XBuild : メイン アセンブリの詳細タブ言語 = 不変言語 (不変の国)、de-DE サテライト アセンブリの詳細タブ言語 = ドイツ語 (ドイツ)
組み立て:
サテライト アセンブリ:
Mono がデフォルトとして Neutral の代わりに Invariant Langauge を使用する可能性があることは理解していますが、これを逆にして MSBuild と XBuild を一致させる方法はありますか (おそらく構成手順を介して)。MSBuild がサテライト アセンブリのロケールを [詳細] タブの言語フィールドに伝達しないのに、XBuild が伝達しない理由はありますか? 繰り返しますが、この違いは構成ステップで解消できますか?