Вопрос по wpf, .net, xaml – Проблемы после копирования элементов управления XAML из приложения WPF в библиотеку классов

50

В процессе рефакторинга некоторого кода я столкнулся с несколькими ошибками сборки, такими как эти:

Library project file cannot specify ApplicationDefinition element.

The project file contains a property value that is not valid.

Как можно устранить эти ошибки?

Ваш Ответ

5   ответов
3

licationDefinition на Page (к этому свойству можно обратиться, щелкнув правой кнопкой мыши элемент управления в древовидной структуре Solution Explorer и выбрав свойства).

13

даже если ваши действия по сборке установлены правильно. Например, если вы запускаете свой проект как приложение, а затем переключаете его на библиотеку классов. В этом случае вы также должны не забыть удалить App.xaml (и соответствующий App.cs).

Error: User Rate Limit Exceeded
2

оект ClassLibrary.

Измените свойство Build Action этого изображения на ресурсы

122

кт, Visual Studio имеет неприятную привычку не сохранять то же самоеBuildAction имущество. Он часто изменяет действие сборки на казалось бы случайное значение, например,ApplicationDefinition, что вызывает ошибку сборки.

Проверьте (в окне свойств Visual Studio с файлом, выбранным в обозревателе решений), что каждый из ваших файлов .xaml имеетBuildAction собственностьюPage и ваши файлы кода имеютBuildAction собственностьюCompile.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
1

но смог использовать только приведенные выше комментарии, чтобы исключить другие варианты, и в итоге нашел свой ответ, когда заметил, что у каждого из двух проектов был один и тот же файл .xaml с одинаковым именем в одном решение.

Abstract example

1 решение, которое имеет 2 проекта: PRINTNOTESPROJ и MAKENOTESPROJ.

Во время разработки я использовал XAML-окно в MAKENOTESPROJ, которое должно быть частью PRINTNOTESPROJ в исполняемых файлах Release.

Перейдя в Build-> Release, я просто нажал на «PrintWindow.XAML». (в MAKENOTESPROJ & amp; с дочерним PrintWindow.xaml.cs) и перетащил его на мой PRINTNOTESPROJ.

* Это ключ. Я забыл, что при этом копируются только связанные файлы в новый проект [по крайней мере, в VS 2010]. С этого момента я получал вашу ошибку, пока не удалил & quot; PrintWindow.xaml & quot; из моего оригинального проекта MAKENOTESPROJ.

Я надеюсь, что это имеет смысл ... Пожалуйста, прокомментируйте с вопросами!

Error: User Rate Limit Exceeded

Похожие вопросы