如何更改Visual Studio项目类型?

Sco*_*ger 37 visual-studio

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

除了编辑*.csproj文件之外,还有一种"正确"的方法来更改现有项目的项目类型吗?

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

Jar*_*Par 20

小修正:Visual Studio不跟踪用于创建项目的项目模板.项目系统基本上不知道用于项目的初始模板.项目系统中有几个项目(例如项目类型),它们与特定模板具有相同的名称,但这是巧合而且两者未得到明确更正.

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

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

  • 你是不对的,VS不记得用于创建项目的特定模板,但它绝对根据该模板中的信息将项目分类为特定类型,并且显然在创建后没有用于修复它的UI.请参阅我对丹尼尔的评论,以获取此选择效果的示例.当我写完我原来的问题时,我已经提到了XML元素存储的信息,但是我看到StackOverflow系统将其删除了.我将重新编辑它,但它是&lt; ProjectTypeGuids&gt; 存储项目类型的*.csproj文件中的元素. (9认同)

fot*_*pap 20

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

查看http://www.mztools.com/Articles/2008/MZ2008017.aspx了解一些availbale GUID


Dan*_*ite 6

你为什么要改变这个?

我只是将其他项目添加到您想要的解决方案中,移动文件,然后删除原始项目.

  • @Scott:看起来有点愚蠢,但对于一种"项目"而言可能不仅仅是<ProjectTypeGuids>属性中的GUID.由于项目文件本身是由您在创建项目时使用的模板定义的,因此您可能(并且应该!)找到其他差异,例如.targets文件的不同<Import>等.如果您不想进行随机播放,则至少应创建一个所需类型的空项目,并将项目文件与您所拥有类型的空项目区分开来.除了<ProjectTypeGuids>之外,还要进行任何其他相关更改. (6认同)
  • 右键单击项目并调出"添加"菜单.你有什么选择?如果您不使用其中一个WPF模板创建项目,则不会将"用户控件"或"资源字典"等选项作为选项.如果您没有作为WPF项目启动,您甚至不会在"New Item ..."下将"Resource Dictionary"作为选项.我已经完成了你描述的洗牌,如果有很多项目并且整个过程都受版本控制,那就太痛苦了.简单地改变项目类型的所有这些看起来很愚蠢. (4认同)