2009-10-11 4 views
32

Наконец-то я понял, что Visual Studio отслеживает, как вы создаете проект (другими словами, какой шаблон проекта вы выбираете изначально) и затем фильтрует ваши параметры на основе этого первоначального решения. Информация хранится в файле * .csproj как элемент <ProjectTypeGuids>.Как изменить тип проекта Visual Studio?

Помимо редактирования файла * .csproj, существует ли «правильный» способ изменить тип проекта для существующего проекта?

Учитывая значение этого параметра, кажется, что в графическом интерфейсе есть место, чтобы изменить его, но я не смог его найти. Благодаря!

ответ

6

Почему вы хотите это изменить?

Я бы просто добавил еще один проект к решению с тем, который вы хотите, переместите файлы, а затем удалите исходный проект.

+4

правой кнопкой мыши на проекте и открыть меню «Добавить». Какой у вас выбор? Если вы не создаете проект с использованием одного из шаблонов WPF, у вас не будет таких функций, как «User Control» или «Resource Dictionary». Если вы не запускали проект WPF, у вас даже не будет «Resource Dictionary» в качестве опции в разделе «Новый элемент ...». Я сделал тасование, которое вы описываете, что это боль, если есть много предметов, и все это находится под контролем версий. Все, что просто изменить вид проекта кажется глупым. –

+6

@Scott: Это может показаться глупым, но может быть больше для «своего рода проекта», чем только GUID в свойстве . Поскольку сам файл проекта определяется шаблоном, который вы использовали при создании проекта, вы можете (и должны!) Находить другие отличия, например различные s .targets файлов и тому подобное. Если вы не хотите делать тасование, вы должны, по крайней мере, создать пустой проект того типа, который вы хотите, и отделить файл проекта от пустого проекта того типа, который у вас есть. В дополнение к выполните любые другие соответствующие изменения. – JaredReisinger

+0

создание новый проект хороший. но если вы хотите дать новое название проекта, у вас возникнут проблемы. здесь легко исправить, щелкнуть правой кнопкой мыши по проекту и выбрать «выгрузить проект», затем «удалить», затем щелкнуть правой кнопкой мыши по решению и выбрать «Открыть папку в Проводнике», затем найти папку проекта и переименовать ее в другое. создайте новый проект с нужным именем и скопируйте существующие элементы. также для включения существующих файлов в новый проект вы можете добавить существующий элемент (shift + alt + A). –

17

Небольшая коррекция: Visual Studio не отслеживает шаблон проекта, используемый для создания проекта. Система проекта в значительной степени не знает первоначальный шаблон, используемый для проекта. В системе проекта есть несколько элементов (например, Тип проекта), которые имеют то же имя, что и конкретные шаблоны, но это совпадение, и два не окончательно исправлены.

Единственное, что действительно может быть изменено с точки зрения типа проекта, это, по сути, тип вывода. Это может иметь значение Class Library, Console Application и Windows Application. Вы можете изменить это, перейдя на страницу свойств проекта (щелкните правой кнопкой мыши «Свойства») и измените поле «Тип вывода».

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

+8

Вы правы, что VS не помнит, какой конкретный шаблон использовался для создания проекта, но он абсолютно классифицирует проект как особый вид, основанный на информации в этом шаблоне, и, видимо, нет никакого пользовательского интерфейса для его исправления после его создания. См. Мой комментарий к Даниэлю выше для примера эффектов этого выбора. Когда я написал свой первоначальный вопрос, я упомянул элемент XML, хранящийся в нем, но я вижу, что система StackOverflow удалила его. Я отредактирую его, но это элемент <ProjectTypeGuids> в файле * .csproj, который хранит вид проекта. –

+0

@ JaredPar - Спасибо, я давно задавался вопросом, как это сделать, и вы решили работать для меня! –

20

В визуальной студии тип проекта хранится в XML-файле .csproj как GUID. Вы должны изменить GUID, чтобы определить новый тип проекта.

проверка http://www.mztools.com/Articles/2008/MZ2008017.aspx для некоторых из Availbale GUIDs

Смежные вопросы