编译导致双重警告

时间:2009-05-11 20:19:43

标签: c# msbuild warnings

我有一个WPF项目,Visual Studio / MSBuild的编译似乎做了2次传递,后者通过添加一些临时资源文件,例如。

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

我怀疑你无法解决这个问题(至少在没有放弃代码生成或XAML的情况下)。但我面临的问题是每个编译器警告都加倍。更糟糕的是,它们使用不同的语言!例如,对于我的英语和德语,第一次传递产生英语警告,第二次德国警告:

 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

显然这会产生很多噪音。

这是正常行为还是我在这里做错了什么?有什么方法可以改善这个吗?它应该只显示一次警告,最好是英文。但是德语中的一切也足够了。

2 个答案:

答案 0 :(得分:2)

当您的XAML文件引用同一项目中定义的类型(即xmlns:local =“...”)时,MSBuild进程会生成一个临时项目来构建类型,以便XAML编译器可以正确生成BAML和/或部分支持类。

您可以通过将这些类型移动到将在XAML项目之前编译的其他程序集来修复双重错误消息。

我很难过为什么它使用不同的语言来报告两次传球的错误。

答案 1 :(得分:0)

GIX,

双虚拟机可能是资源吗?不知道,尝试使用/ nowarn强行删除它。

等待溶解。