Почему нельзя добавить 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-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
Строчку надо добавлять в секцию <PropertyGroup>, причем в ту, которая без атрибута Condition. В 2010-ой студии это помогает.
Коментарі