【问题标题】:How to change a Visual Studio project type?如何更改 Visual Studio 项目类型?
【发布时间】:2010-12-05 19:31:36
【问题描述】:

我终于发现,Visual Studio 会跟踪您如何创建项目(换句话说,您最初选择了哪个项目模板)并稍后根据最初的决定过滤您的选项。该信息作为 元素保存在 *.csproj 文件中。

除了编辑 *.csproj 文件之外,是否有“正确”的方式来更改现有项目的项目类型?

考虑到该设置的重要性,GUI 中似乎有地方可以更改它,但我找不到。谢谢!

【问题讨论】:

    标签: visual-studio


    【解决方案1】:

    小修正:Visual Studio 不跟踪用于创建项目的项目模板。项目系统很大程度上不知道用于项目的初始模板。项目系统中有几个项目(例如项目类型)与特定模板具有相同的名称,但这是一个巧合,这两个项目并没有得到明确的纠正。

    就项目类型而言,唯一可以真正改变的是输出类型。这可以具有价值类库、控制台应用程序和 Windows 应用程序。您可以通过转到项目属性页面(右键单击属性)并更改输出类型组合框来更改此设置。

    项目系统可能支持其他项目类型,但它们很少,并且与项目模板没有明确的关联。

    【讨论】:

    • 您是对的,VS 不记得用于创建项目的特定模板,但它绝对根据该模板中的信息将项目归类为特定类型,显然没有创建后修复它的 UI。有关此选择效果的示例,请参见上面对 Daniel 的评论。当我写我最初的问题时,我提到了存储信息的 XML 元素,但我看到 StackOverflow 系统删除了它。我会重新编辑它,但它是 <ProjectTypeGuids> *.csproj 文件中存储项目类型的元素。
    • @JaredPar - 谢谢,我一直想知道如何做到这一点,你的解决方案对我有用!
    【解决方案2】:

    在 Visual Studio 中,项目类型作为 GUID 存储在 .csproj XML 文件中。您必须更改 GUID 以定义所需的新项目类型。

    查看http://www.mztools.com/Articles/2008/MZ2008017.aspx 获取一些可用的 GUID

    【讨论】:

      【解决方案3】:

      你为什么要改变这个?

      我只需将另一个项目添加到您想要的解决方案中,移动文件,然后删除原始项目。

      【讨论】:

      • 右键单击一个项目并调出“添加”菜单。你有什么选择?如果您不使用 WPF 模板之一创建项目,则不会有“用户控件”或“资源字典”之类的选项作为选项。如果您不是从 WPF 项目开始,您甚至不会在“新项目...”下将“资源字典”作为选项。我已经完成了你描述的洗牌,如果有很多项目并且整个事情都在版本控制之下,那就太痛苦了。简单地改变项目类型似乎很愚蠢。
      • @Scott:这可能看起来有点傻,但“项目类型”可能不仅仅是 属性中的 GUID。由于项目文件本身是由您在创建项目时使用的模板定义的,因此您可能(并且应该!)找到其他差异,例如 .targets 文件的不同 等。如果您不想进行随机播放,您至少应该创建一个所需类型的空项目,并将项目文件与您拥有的类型的空项目进行比较。除了 之外,还要进行任何其他相关更改。
      • 制作新项目很好。但是如果你想给新项目同名,你会遇到问题。这里很容易解决,右键单击项目并选择“卸载项目”然后“删除”,然后右键单击解决方案并选择“在文件资源管理器中打开文件夹”,然后找到您的项目文件夹并将其重命名为其他名称。使用您想要的名称创建新项目并在那里复制现有项目。还可以在新项目中包含现有文件,您可以添加现有项目 (shift+alt+A)。
      【解决方案4】:

      您可以在 .csproj 文件中对其进行修改以更改项目类型,例如从 .Net Core 更改为 .Net Standard。只需更改 blabla 的内容即可完成更改。

      <Project Sdk="Microsoft.NET.Sdk">
      
        <PropertyGroup>
          <TargetFramework>netstandard2.0</TargetFramework>
          <AssemblyName>...</AssemblyName>
          <RootNamespace>...</RootNamespace>
        </PropertyGroup>
      
      </Project>
      

      但是你应该注意如果你使用一些外部包,这些包可能与新的项目类型不兼容。因此,您可能需要获取兼容的软件包。

      【讨论】:

        【解决方案5】:

        我需要以这种方式将 WPF 支持添加到“类库 (.NET CORE)”类型的项目中:

        • 编辑YourProject.csproj(双击它)并将&lt;Project Sdk="Microsoft.NET.Sdk"&gt;修改为&lt;Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"&gt;
        • 在群组&lt;PropertyGroup&gt;中添加&lt;UseWPF&gt;true&lt;/UseWPF&gt;
        • 重建你的项目

        现在您可以添加 WPF 窗口

        【讨论】:

          猜你喜欢
          • 2023-03-16
          • 2013-09-30
          • 2010-10-14
          • 2014-01-25
          • 1970-01-01
          • 2012-03-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多