Как изменить тип проекта Visual Studio?

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

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

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

6 ответов

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

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

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

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

проверьте http://www.mztools.com/Articles/2008/MZ2008017.aspx для некоторых доступных GUID

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

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

В моем случае я хотел перейти со второго на первое окно шаблона проекта.

От (приложение Windows Forms .net Feamework) до (приложение Windows Forms)

То, что я сделал, просто

  1. Создайте новый проект с нужным типом проекта.

  2. В обозревателе решений щелкните правой кнопкой мыши проект, который вы хотите изменить.

  3. Выберите «Выгрузить проект». Это выгрузит проект из решения.

  4. После выгрузки проекта снова щелкните его правой кнопкой мыши, но на этот раз выберите «Редактировать [YourProjectName].csproj». (Visual Studio откроет его автоматически после шага 3).

  5. Скопируйте весь код оттуда.

  6. Откройте старый проект и выполните шаги с 1 по 4, затем удалите весь код из файла csproj и вставьте скопированный ранее код.

  7. Сохраните и нажмите «Загрузить проект».

  8. Удалите старый проект, и это должно сработать, если ваши типы проектов похожи.

Вы можете изменить его в файле.csproj, чтобы изменить тип проекта, например, с.Net Core на.Net Standard. Просто изменив содержимое blabla, вы закончите с изменениями.

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <AssemblyName>...</AssemblyName>
    <RootNamespace>...</RootNamespace>
  </PropertyGroup>

</Project>

Но вы должны принять к сведению, что если вы используете какие-то внешние пакеты, они могут быть несовместимы с новым типом проекта. Итак, вам может понадобиться получить совместимые пакеты.

Мне нужно было добавить поддержку WPF в проект типа "Библиотека классов (.NET CORE)" следующим образом:

  • отредактируйте YourProject.csproj (дважды щелкните по нему) и измените <Project Sdk="Microsoft.NET.Sdk"> к <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  • Добавить <UseWPF>true</UseWPF> в группе <PropertyGroup>
  • перестроить свой проект

Теперь вы можете добавить окно WPF

Другие вопросы по тегам