安装ASP.NET和Web工具2013.1后,打开VS2012时ProjectTypeGuids丢失。

7

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

我有一个解决方案,其中包含一个带有以下项目类型GUID的ASP.NET MVC 4项目:

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

这些 GUID 用于: 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、使用 Tortoise 更新 SVN 中的文件后重新打开解决方案。你知道吗?重新打开解决方案时 GUID 被删除了!
如果我创建一个带有 ASP.NET MVC 4.0 项目的新解决方案,它可以正常工作,并且 GUID 保持不变。
有什么想法为什么会发生这种情况以及我如何解决它?
更新
如果我以安全模式打开 VS,就不会出现这种情况。所以我怀疑这一定是某个扩展造成的,但我不知道如何发现是哪个扩展。有没有一种方法可以知道哪个扩展可能会对此负责(除了卸载/尝试循环……)?

2
我也遇到了同样的问题,你找到解决方法了吗? - 101V
我也遇到了同样的问题。根据这个产品GUID列表,其中一个是用于MVC5,一个是用于MVC4,另一个是用于C#。 http://www.codeproject.com/Reference/720512/List-of-Visual-Studio-Project-Type-GUIDs ASP.NET MVC 4 {E3E379DF-F4C6-4180-9B81-6769533ABE47} ASP.NET MVC 5 {349C5851-65DF-11DA-9384-00065B846F21} C# {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 我不确定4和5是否可以或应该混合使用。我手动添加了一个GUID以使脚手架工作(http://www.asp.net/visual-studio/overview/2013/aspnet-scaffolding-overview)。根据该链接,需要VS2013。 - user576154
1个回答

0

我找到了一个临时的解决方法来解决这个问题:

  1. 在Visual Studio中右键单击MVC项目,选择“卸载项目”

  2. 右键单击项目,选择“编辑YourProjectName.csproj”

  3. 将ProjectTypeGuids标签的内容替换为以下内容,并保存文件更改:

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

  4. 在Windows资源管理器中找到csproj文件。打开它的属性并将其标记为只读。

  5. 在Visual Studio中右键单击项目,选择重新加载项目。您将被提示保存csproj文件。当出现该提示时,请单击取消。

  6. 返回Windows资源管理器并取消只读标志。

只要在 Visual Studio 中打开此项目,它就会被视为 MVC 项目,并且您将有选项添加视图和控制器。一旦切换项目或重新启动 Visual Studio,您将需要再次执行此操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接