Компиляция, приводящая к двойным предупреждениям - PullRequest
3 голосов
/ 12 мая 2009

У меня есть проект 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 ]

2 голосов
/ 12 мая 2009

Когда ваши XAML-файлы ссылаются на типы, определенные в одном и том же проекте (т.е. xmlns: local = "..."), тогда процесс MSBuild создает временный проект для построения типов, чтобы компилятор XAML мог правильно генерировать BAML и / или частичные бэк-классы.

Вы можете исправить ваши двойные сообщения об ошибках, переместив эти типы в другую сборку, которая будет скомпилирована перед вашим проектом XAML.

Я, однако, озадачен тем, почему он использует разные языки для сообщения об ошибках за два прохода.

0 голосов
/ 12 мая 2009

Gix,

Двойные виртуальные машины или ресурсы? не знаю, попробуйте использовать / nowarn, чтобы принудительно удалить его.

В ожидании растворения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...