3

私は WPF プロジェクトを持っており、Visual Studio/MSBuild によるコンパイルは 2 つのパスを実行しているようで、後者のパスではいくつかの一時リソース ファイルが追加されます。

csc <options> <files>
csc <options> <files> /resource:obj\Debug\Project.g.resources

これを回避することはできないと思います (少なくとも、コード生成または XAML をあきらめない限り)。しかし、私が直面している問題は、すべてのコンパイラ警告が 2 倍になることです。さらに悪いことに、それらは異なる言語です。たとえば、英語とドイツ語の場合、最初のパスで英語の警告が生成され、2 番目のパスでドイツ語の警告が生成されます。

 5  The event 'SomeEvent' is never used           Foo.xaml.cs  29
 8  Unreachable code detected                     Bar.cs       33
34  Unerreichbarer Code wurde entdeckt.           Bar.cs       33
44  Das Ereignis "SomeEvent" wird nie verwendet.  Foo.xaml.cs  29

明らかに、これは多くのノイズを生成します。

これは正常な動作ですか、それともここで何か間違ったことをしていますか? これを改善する方法はありますか?できれば英語で、すべての警告を一度だけ表示する必要があります。しかし、すべてドイツ語でも十分です。

4

2 に答える 2

2

XAML ファイルが同じプロジェクト内で定義された型 (つまり、xmlns:local="...") を参照する場合、MSBuild プロセスは一時的なプロジェクトを生成して型をビルドし、XAML コンパイラが BAML や部分的なバッキングを適切に生成できるようにします。クラス。

XAML プロジェクトの前にコンパイルされる別のアセンブリにこれらの型を移動することで、二重のエラー メッセージを修正できます。

ただし、2 つのパスのエラーを報告するために異なる言語を使用する理由については困惑しています。

于 2009-05-11T20:43:04.113 に答える
0

ギックス、

二重の仮想マシンまたはリソースでしょうか? わからない場合は、/nowarn を使用して強制的に削除してみてください。

ソリューショントーを待っています。

于 2009-05-11T20:38:50.267 に答える