今天遇到了一个比较少见的问题,我用vs2010打开一个从Svn上拉下来的mvc2项目,在Controller文件夹上右键却发现没有新建控制器的选项,在View文件夹上右键也没有新建视图的选项。
我的第一反应是确定vs2010有没有出问题,于是我打开另一个mvc2项目,是可以的,由此可以判断不是开发工具的问题
既然不是开发工具的问题,那么问题很可能出现在项目本身,以我过往的经验,我猜测很可能是项目文件.csproj里的配置有问题
果然,在网上搜索一番后,发现一名外国小伙Tony貌似遇到了和我一样的问题,根据他的经历,哥迅速锁定了问题所在
这是问题答案的原地址http://stackoverflow.com/questions/11521644/mvc-3-i-cant-add-a-new-controller-or-view,不过是英文的,好在哥的英文也不差~
翻译过来,大致原因就是项目的.csproj文件里面有个<ProjectTypeGuids>的项目类型节点,这个节点记录的是项目类型的标识,然而,不知什么原因,这个节点的配置被人改了(比如无意中误操作),也意味项目类型不再是Mvc2,所以也就出不来Mvc2项目特有的选项
好在项目类型只有那几种,所以找到原来的Mvc2项目标识并不难,只需要找个正常的Mvc2项目看一看就知道,为了方便大家,我把正确的Mvc2项目<ProjectTypeGuids>
节点配置贴出来,免得大家再去找别的Mvc2项目配置参考
<ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>