如何在 Visual Studio 2012 或 Visual Studio 2013 中打开旧的 MVC 项目?

2024-01-11

我有一个旧的 ASP.NET MVC 2 项目,我不想升级到 MVC 3 或 MVC 4。我正在运行 Windows 8、Visual Studio 2012 和 Visual Studio 2013 的新计算机上工作。当我尝试打开 MVC 时VS 2012 或 VS 2013 中的 2 项目我收到错误:

该项目与当前版本的 Visual Studio 不兼容

然后该项目将被卸载并在解决方案资源管理器中显示为灰色。我不想安装 Visual Studio 的另一个副本。如何在新版本的 Visual Studio 中打开旧的 MVC 项目?


在中打开不受支持的 MVC 项目视觉工作室2012 http://en.wikipedia.org/wiki/Microsoft_Visual_Studio#Visual_Studio_2012或 Visual Studio 2013 实际上很容易通过两个步骤完成。事实上,作为bytebender 的评论表明 https://stackoverflow.com/questions/13424079/how-do-i-open-an-mvc-2-project-in-visual-studio-2012/13424080#comment18796578_13424080,这些相同的步骤should申请并为 MVC 1 项目工作。然而,我还没有测试过它们,因此不能保证它们确实有效。

假设您还没有这样做,第一步是下载并安装MVC 1 http://www.microsoft.com/en-us/download/details.aspx?id=5388, MVC 2 http://www.microsoft.com/en-us/download/details.aspx?id=22079 or MVC 3 http://www.microsoft.com/en-us/download/details.aspx?id=1491(开始安装之前关闭 Visual Studio)。

一旦安装了适当风格的 MVC,该项目仍然不会在 VS 2012 中加载。这是因为 ASP.NET MVC 项目是一个项目子类型 http://msdn.microsoft.com/en-us/library/bb166488.aspxWeb 应用程序项目类型的。这意味着该项目在 Visual Studio 中使用时具有可用的附加插件和功能。

Visual Studio 2012 和 Visual Studio 2013 与 ASP.NET MVC 和其他项目类型的向后兼容性都受到限制。不幸的是,安装旧的 MVC 位并没有改变这一点。兼容 Visual Studio 2012 http://msdn.microsoft.com/en-us/library/vstudio/hh266747%28v=vs.110%29.aspx具有 ASP.NET MVC 3 和 4 项目风格。兼容 Visual Studio 2013 http://msdn.microsoft.com/en-us/library/vstudio/hh266747.aspx与 MVC 4 和 MVC 5。

要加载项目,您必须修改项目文件。为此,请右键单击已卸载的项目并选择“编辑”。这会将项目文件作为 XML 文本文件打开。找出ProjectTypeGuids节点应该看起来像这样:

<ProjectTypeGuids>
    {F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
</ProjectTypeGuids>

从列表中删除适当的项目指南:

  • ASP.NET MVC 1:{603c0e0b-db56-11dc-be95-000d561079b0}
  • ASP.NET MVC 2:{F85E285D-A4E0-4152-9332-AB1D724D3325} (如上例所示)
  • ASP.NET MVC 3:{E53F8FEA-EAE0-44A6-8774-FFD645390401}
  • ASP.NET MVC 4:{E3E379DF-F4C6-4180-9B81-6769533ABE47}

删除适当的 GUID 后ProjectTypeGuids应该类似于这样:

<ProjectTypeGuids>
    {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
</ProjectTypeGuids>

保存文件并关闭 Visual Studio 项目文件编辑器。右键单击该项目并选择重新加载。如果项目未重新加载,请关闭并重新打开 Visual Studio。您现在应该能够在新版本的 Visual Studio 中使用旧的 ASP.NET MVC 项目。

需要注意的一件重要事情是,经过这些修改后,Visual Studio 并不知道这是一个 ASP.NET MVC 项目;因此,项目特定的功能,如“添加控制器、视图等”不会出现在菜单中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Visual Studio 2012 或 Visual Studio 2013 中打开旧的 MVC 项目? 的相关文章

  • ASP.NET MVC 4,迁移 - 如何在生产服务器上运行“更新数据库”

    我可以使用包管理器在本地运行 update database verbose 可能是一个愚蠢的问题 但我无法在线找到它 一旦我的网站部署 我如何在服务器上手动运行它 其次 您会推荐哪些其他策略来将数据库迁移部署到生产环境 以及它们如何更好
  • Azure Web 部署“发布失败”

    各位开发人员大家好 我目前正在努力解决最新的 Visual Studio 2017 Professional 版本 15 8 1 中的问题 自从更新到版本 15 8 以来 我无法通过 Web 部署发布任何 Azure Functions 每
  • HTTP 403 Forbidden:访问被拒绝 ASP.NET Web API

    在生产服务器上运行 ASP NET Web API 项目时 我收到以下错误 403 禁止 访问被拒绝 您没有权限查看 使用您提供的凭据访问此目录或页面 查看 IIS 7 0 错误日志 基本错误是 403 14 目录列表被拒绝 我已经配置了生
  • WCF Rest 服务还是 ASP.NET MVC 控制器/操作?

    如果有人能提供一些关于哪种更有益的见解 我将不胜感激 WCF 中的 RESTful 服务可以提供与 ASP Net MVC 控制器相同的功能 即可以使用控制器 操作适当地形成 URL 使用其中一种比另一种有真正的好处吗 WCF休息服务将提供
  • VS2012 中的实体框架问题 - 重命名属性不粘

    我试图在 VS2012 中创建一个新项目 其中包含管理 MVC4 项目 网站 MVC4 项目和通用实体框架 dll 项目 我使用了现有的数据库并从中生成了我的实体 我更新了一些关系属性的名称并保存 然后 我将对实体框架项目的引用添加到我的两
  • Visual Studio 2013删除已删除的git分支

    我遇到这个问题 在 VS2013 中 当我从源创建一个新分支时 源分支的下拉列表列出了曾经创建的所有分支 这包括长期从本地存储库和远程 源存储库中删除的分支 如何删除已删除的分支 Visual Studio 将它们保存在本地缓存中 您可以从
  • VS C# 中的依赖地狱,找不到依赖项

    我创建了一个图表 C 库 我们称之为chartlibrary 它本身依赖于多个第三方 dll 文件 在另一个可执行项目中 我们称之为chartuser 我参考了chartlibrary项目 两个项目位于 Visual Studio 中的同一
  • 在新的 ASP.NET MVC 5 项目中更新 NuGet 包引用后,如何修复与 JSON.NET 的程序集版本冲突?

    我在 VS 2013 更新 1 中创建了一个新的 ASP NET MVC 5 Web 项目 然后更新了所有 NuGet 包 当我构建项目时 我收到以下警告 警告 MSB3243 无法解决 Newtonsoft Json Version 6
  • 编辑和导入故事板更改从 Xcode 到 Visual Studio

    我正在将代码从 Xamarin Studio Mac 移动到 Visual Studio 我可以从 Xamarin Studio 在 Xcode 中打开故事板文件 如果我在 Xcode 中进行更改 关闭它 然后在 Xamarin Studi
  • 如何在 MSVS 2012+ 编辑器(和 .NET?)中使用正则表达式替换插入“\”+“n”

    在 Visual Studio 2013 的编辑器中 我理解它与 2012 非常相似 据称使用 NET 正则表达式 我无法获取替换字符串来插入反斜杠和 n 这可能吗 我想插入 n 在第一个 之后 在 C 程序的某些 但不是全部 行上 即使字
  • 如何从 powershell 中设置 bash 的环境变量?

    使用powershell我该如何设置 https askubuntu com q 1205227 45156 the 环境 https stackoverflow com q 5327495 262852变量 这里 特别 https sta
  • 如何让 MSIX 应用安装程序在每次生成/发布期间输出正确的设置?

    问题 如何获取 MSIXappinstaller在每次构建 发布期间输出正确的设置 Context 这是一个后续问题启用侧面加载后 为什么 MSIX 不会在每次应用程序运行时自动检查更新 https stackoverflow com q
  • Web API 和 ASP MVC 之间的主要区别是什么

    标题确实总结了我的问题 我已经使用了这两种技术 但我不确定其中一种技术与另一种技术有何显着不同 在本质上 在设计一个宁静的 Web 应用程序时 选择 ASP MVC 或 Web API 时应考虑哪些标准和 或指南 Purpose ASP N
  • 需要用户使用 NTLM 重新进行身份验证

    我是 NTLM web config 中的authenication windows 有一个 asp net mvc 2 0 站点 现在 一旦用户登录 他们就会一次保持登录状态数周 该应用程序的使用正在向共享使用登录服务帐户的计算机的用户开
  • 将许多表转换为 Excel 列

    我创建了用于文章审阅的网络应用程序 我有一个名为 Article 的表 每个表Article有一些ArticleReview Article ArticleId ArticleTitle NumberOfComment NumberOfVi
  • 要发布哪些运行时库?

    我使用 Visual Studio 2008 进行 C C 工作 我相信我并不关心我的代码使用了哪些运行时库 因为我有开发人员设置 但是 当交付可执行文件时 所使用的运行时库也需要一起交付 我对吗 如果是 我如何确定实际使用了哪些共享库 或
  • 使用 CustomUrlHelper 覆盖 UrlHelper - ASP.NET CORE 2.0

    有没有办法强制我的 ASP NET Core 2 0 应用程序使用我在各处编写的自定义 UrlHelper 我有一个具有自定义逻辑的类 public class CustomUrlHelper UrlHelper 我希望它能在任何地方使用
  • 将 VS2015 中的 ASP.NET Identity 中的 User Id 类型更改为 int

    默认情况下 VS 2015 中的 ASP NET Identity 使用字符串作为 AspNet 表的主键 我想使用 int 类型的 id 来代替 经过一些研究后发现 框架开箱即用地支持不同类型的 ID 在下面的答案中 我将展示要实现这一目
  • 如何将 Metro 应用部署到桌面?

    我正在尝试将我的 C 应用程序部署到我的 Windows 8 Metro 桌面 我可以在 bin 文件夹中看到部署的文件 但是当我尝试打开它们时 出现以下错误 该应用程序只能在 AppContainer 的上下文中运行 我检查了属性上下文菜
  • MVVM ViewModel 与 MVC ViewModel

    ViewModel 是一个在 MVVM Model View ViewModel 和 ASP NET MVC 的推荐实现中使用的术语 鉴于每种模式都使用相同的术语 研究 ViewModel 可能会令人困惑 MVC ViewModel 和 M

随机推荐