Library project file cannot specify ApplicationDefinition element
Разбираясь с нововведениями в VS2010, пишу небольшой демонстрационный проект. В какой-то момент, решил что, хорошо бы часть контролов перенести в отдельную библиотеку.
Создал новый проект Class Library, добавил в него ссылки на WindowsBase, PresentationCore и PresentationFramework и, привычним движением, перетащил туда несколько xaml-файлов вместе с связанными cs. Готово.
Попытка скомпилировать неуспешна! Почему? Ага, вот - в списке ошибок написано "Library project file cannot specify ApplicationDefinition element".
Кроме того, что смысл ошибки совершенно непонятен, студия отказывается реагировать на 2-ой клик на ошибке, предлагая, таким образом, самому догадаться об источнике ошибки.
Конечно! Вот это я в 21-ом веке, буду сам думать почему программа не компилируется! Копируем ошибку, вставляем в гугль.... Все найденое, сводится к предложению удалить файл App.xaml из этой библиотеки. Но ведь его там нет!
Зато есть там, откуда я скопировал контролы. Внимательно посмотрев на сам файл и на его свойства в солюшине, обнаружил, что значение Build Action у него, в аккурат соответствует "ApplicationDefinition". Закралось подозрение...
Так и есть! При перемещении контролов в отдельныю проект Class Library, студия зачем-то поменяла им Build Action на ApplicationDefinition, что есть неправильно.
Поменял обратно на Page и все собралось.
Коментарі