相信很多童鞋会遇到这个问题,在Visual Stuido里新建项目时,有一系列的模版可供选择,根据特定模版创建出项目后,VS会为项目添加相应的类库引用和上下文菜单,十分方便。但与此同时也带来了一个困扰,那就是创建之后无法更改项目类型!比方说你一开始建了个Console类型的项目用于调试,随后又想将其更改为class library,却发现VS并没有提供这样的功能。
那到底有没有办法更改项目类型呢?答案是肯定的,一种比较笨的做法是新建项目然后将已有项目里的文件给迁移过来,费时费力不说,还很容易出错。我要给大家介绍的是另外一种方法:通过编辑.csproj文件从而实现项目类型的变更。大家知道,所以关于项目的信息都是存放在这个文件里的,其中项目类型是通过<ProjectTypeGuids>属性定义的,属性值是事先定义好的也是唯一的GUID字符串,每个项目可以包括一个或多个<ProjectTypeGuids>属性。
<PropertyGroup>
<ProjectTypeGuids>{A860303F-1F3F-4691-B57E-529FC101A107};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
...
</PropertyGroup>
注意: 不要将项目类型的Guid与Solution里的项目Guid给弄混淆了。
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "SqlServerProject1", "SqlServerProject1.vbproj", "{BE5F0BE0-93CD-4FCE-A853-9096A442DF1B}"
项目类型的Guid值存储在注册表里的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<version>\Projects键值中,其中<version>表示为:
- 7.0 for Visual Studio