среда, 1 сентября 2010 г.

Как поменять тип .net проекта

Use case - имеется созданный проект, имеющий какой-то тип, например C# Class Library, необходимо изменить тип проекта, например C# WPF User Control Library. Такое изменение даст IDE понять, что можно создавать соответствующие WPF элементы, например ResourceDictionary.

Как мы знаем, меню Properties у студии очень небогато и, в частности, там нет опции, позволяющей сменить тип проекта. Есть только меню, позволяющее менять так называемые Output type - Class Library, Console Application, Windows Application.
Ключи, определяющие тип проекта – это GUID, которые прописаны в реестре по адресу

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Projects\.

Для нашего случая, если проект имеет тип C# Class Library, то эта информация будет записана в файле solution следующим образом:

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "", "RelativePath\.csproj", ""

Где FAE04EC0-301F-11D3-BF4B-00C04F79EFBC означает, что это C# проект.
Отличие от WPF проекта в том, что в последнем помимо аналогичной строки в sln еще есть строка в файле проекта:

{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}

Где 60dc8134-eba5-43b8-bcc9-bb4bc16c2548 означает поддержку WPF.
Итак, чтобы решить задачу нужно открыть файл проекта, и найти там . Если их нет, то добавить строку -

{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.

Аналогично решаются проблемы с другими типами проектов.

Комментариев нет:

Отправить комментарий