【发布时间】:2010-12-05 19:31:36
【问题描述】:
我终于发现,Visual Studio 会跟踪您如何创建项目(换句话说,您最初选择了哪个项目模板)并稍后根据最初的决定过滤您的选项。该信息作为
除了编辑 *.csproj 文件之外,是否有“正确”的方式来更改现有项目的项目类型?
考虑到该设置的重要性,GUI 中似乎有地方可以更改它,但我找不到。谢谢!
【问题讨论】:
标签: visual-studio
我终于发现,Visual Studio 会跟踪您如何创建项目(换句话说,您最初选择了哪个项目模板)并稍后根据最初的决定过滤您的选项。该信息作为
除了编辑 *.csproj 文件之外,是否有“正确”的方式来更改现有项目的项目类型?
考虑到该设置的重要性,GUI 中似乎有地方可以更改它,但我找不到。谢谢!
【问题讨论】:
标签: visual-studio
小修正:Visual Studio 不跟踪用于创建项目的项目模板。项目系统很大程度上不知道用于项目的初始模板。项目系统中有几个项目(例如项目类型)与特定模板具有相同的名称,但这是一个巧合,这两个项目并没有得到明确的纠正。
就项目类型而言,唯一可以真正改变的是输出类型。这可以具有价值类库、控制台应用程序和 Windows 应用程序。您可以通过转到项目属性页面(右键单击属性)并更改输出类型组合框来更改此设置。
项目系统可能支持其他项目类型,但它们很少,并且与项目模板没有明确的关联。
【讨论】:
在 Visual Studio 中,项目类型作为 GUID 存储在 .csproj XML 文件中。您必须更改 GUID 以定义所需的新项目类型。
查看http://www.mztools.com/Articles/2008/MZ2008017.aspx 获取一些可用的 GUID
【讨论】:
你为什么要改变这个?
我只需将另一个项目添加到您想要的解决方案中,移动文件,然后删除原始项目。
【讨论】:
您可以在 .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)”类型的项目中:
<Project Sdk="Microsoft.NET.Sdk">修改为<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>中添加<UseWPF>true</UseWPF>
现在您可以添加 WPF 窗口
【讨论】: