Публікації

Показано дописи з травень, 2010

Почему нельзя добавить ResourceDictionary?

Лично я очень не люблю, когда в проекте присутсвует то, что этому проекту не нужно. Лишние ссылки, неиспользуемые классы, ресурсы и т.д. Даже в том случае, когда компилятор способен удалить лишнее во время сборки, я стараюсь минимизировать содержимое проекта в целом и каждой сборки, в частности. Именно по этой причине, когда мне нужна отдельная библиотека, я создаю сборку с типом “Class Library” и удаляю из нее все лишние ссылки на другие сборки. Такой подход не приводил к проблемам в Windows Forms, но при использовании WPF я столкнулся с тем, что в такой сборке студия не отображает в диалоге “Add New Item” шаблоны “Window”, “Resource Dictionary (WPF)”, “Page (WPF)”, “Custom Control (WPF)”, “Flow Document (WPF)” и другие. При выборе WPF, в дереве “Installed Templates”, доступным остается только “User Control (WPF)”. Для того, чтобы разрешить создание всего этого надо добавить следующую строчку в файл проекта: <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-30

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 из этой библиотеки. Но ведь его там нет! Зато есть там, откуда я скопировал контролы. Внимательно посмотрев на сам

Анекдот

"Надо отметить, что данная учетная система предоставляет почти неограниченную свободу творчества: каждая компания может реализовать тот набор отчетности и с той глубиной аналища, который ей необходим". Это и опечаткой-то не назовешь!