VS2012 ProjectTypeGuids在安装ASP.NET和Web Tools 2013.1后打开时丢失

时间:2014-03-07 13:18:08

标签: asp.net-mvc visual-studio asp.net-mvc-4 visual-studio-2012 tooling

我在Visual Studio 2012中安装了“ASP.NET和Web Tools 2013.1”。

我有一个ASP.NET MVC 4项目的解决方案,项目类型为guids:

<ProjectTypeGuids>
  {E3E379DF-F4C6-4180-9B81-6769533ABE47};
  {349c5851-65df-11da-9384-00065b846f21};
  {fae04ec0-301f-11d3-bf4b-00c04f79efbc}
</ProjectTypeGuids>

这些指南适用于:    ASP.NET MVC 4.0    Web应用程序    Windows(C#)

这是创建新ASP.NET 4.0项目时的常用配置。它工作正常。

问题是,出于某些奇怪的原因,每当我打开我的解决方案时,第一个GUID(ASP.NET MVC 4.0)都会从.csproj文件中删除,所以我丢失了所有相关的工具。

无论我如何编辑它:

  • 如果我关闭解决方案,并手动编辑此文件,添加缺少的GUID,当我再次打开它时,GUID将被删除
  • 如果我卸载项目,编辑.csproj并重新加载它,GUID也会被删除。
  • 我在版本控制(SVN)下有这个项目,所以我也尝试关闭VS,更新SVN中的文件(使用Tortoise)并重新打开解决方案。你知道吗?打开解决方案时删除GUID !!!

如果我使用ASP.NET MVC 4.0项目创建一个新的解决方案,它可以正常工作,并保留GUID。

知道为什么会发生这种情况以及如何解决这个问题?

更新

如果我在安全模式下打开VS,则不会发生这种情况。所以我怀疑它必须是一个扩展,但我不知道如何发现哪个是冒犯性扩展。有没有办法知道哪个扩展可以负责这个(除了卸载/尝试周期......)

1 个答案:

答案 0 :(得分:0)

我发现了一个针对此问题的临时解决方法:

  1. 右键单击Visual Studio中的MVC项目,然后选择“卸载项目”
  2. 右键单击该项目,然后选择“Edit YourProjectName.csproj”
  3. 使用以下内容替换ProjectTypeGuids标记的内容并保存文件更改:

    {E3E379DF-F4C6-4180-9B81-6769533ABE47}; {349c5851-65df-11DA-9384-00065b846f21}; {fae04ec0-301f-11D3-bf4b-00c04f79efbc}

  4. 打开Window Explorer并找到csproj文件。在其上打开属性并将其标记为只读。

  5. 在Visual Studio中右键单击项目,然后选择“重新加载项目”。系统将提示您保存为csproj文件。当它出现时点击取消。
  6. 返回Windows资源管理器并取下只读标志。
  7. 只要你在Visual Studio中打开这个项目,就会认为它是一个MVC项目,你可以选择添加视图和控制器。切换项目或重新启动Visual Studio后,您将不得不再次执行此操作。