Visual Studio 2017 安装中断 Visual Studio 2015 ASP.NET Core 项目

Posted

技术标签:

【中文标题】Visual Studio 2017 安装中断 Visual Studio 2015 ASP.NET Core 项目【英文标题】:Visual Studio 2017 install breaks Visual Studio 2015 ASP.NET Core Projects 【发布时间】:2017-04-02 03:30:12 【问题描述】:

安装 Visual Studio 2017 Professional 后,我无法再在 Visual Studio 2015 Professional 中构建我的 ASP.NET Core。我从来没有在 VS2017 中打开过这个项目

我明白了

尝试运行项目模型服务器进程 (1.0.0-preview3-004056) 时发生以下错误。

无法启动进程。找不到与命令 dotnet-projectmodel-server 匹配的可执行文件

然后我在 Visual Studio 2015 中创建了一个全新的 ASP.NET Core 项目,并且在加载我的项目时收到完全相同的消息。

另外,当我想构建我得到的项目时

MSB1009:项目文件不存在。

ASP.NET 5 项目不会出现同样的问题,因此它仅限于 ASP.NET Core


Visual Studio 2017 3 月 7 日更新

如果 global.json 像下面的答案一样添加,则会收到 global.json 中使用的任何 .net 框架版本的错误消息,并且存在于 C:\Program Files\dotnet\sdk\ 文件夹中

错误 MSB4019 未找到导入的项目“C:\Program Files\dotnet\sdk\X.X.X\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Props”。确认声明中的路径正确,并且该文件存在于磁盘上。

另外,当关闭 Visual Studio 并再次重新打开时,我会收到原始错误消息

【问题讨论】:

Visual Studio 2017 更新了 .NET Core SDK,带来了相当多的变化,例如从 project.json 移出以及在 Visual Studio 中工作时对性能进行了一些优化。这是 .NET 核心本身的重大变化。 我还在安装了 VS 2015 更新 3 的机器上安装了 VS 2017 RC,并在尝试在 VS 2015 中打开现有的 ASP.NET Core 1.0 应用程序时遇到了完全相同的错误。这个项目打开得很好在安装 VS 2017 RC 之前在 VS 2015 中,我从未尝试使用 VS 2017 RC 打开它。我卸载了 VS 2017 RC,并且 ASP.NET Core 1.0 应用程序打开得很好,现在使用 VS 2015 构建。所以,显然,与微软所说的相反,你不能在装有 VS 2015 的机器上安装 VS 2017 RC它。至少如果您想在 VS 2015 中打开使用 VS 2015 创建的 ASP.NET Core 1.0 应用程序。 默认的 VS2017 ASP.NET Core RC 模板也破坏了发布,所以我建议在 RTM 之前不要使用 No executable found matching command dotnet-projectmodel-server的可能重复 我为您 3 月 7 日的更新找到了一个解决方法,其中缺少 Microsoft.DotNet.Props。转到您的 C:\Program Files\dotnet\sdk 文件夹并找到在 1.0.0 之前安装的文件夹(在我的情况下为 1.0.0-preview2-1-003177)。将 sdk/version 替换为 global.json 中的那个值。然后dotnet restore 【参考方案1】:

看看这个链接: https://github.com/aspnet/Tooling/blob/master/known-issues-vs2017.md#known-issues-for-aspnet-core-support-in-visual-studio-2017

如果您将 Visual Studio 2015 的工具更新到最新版本,它应该可以解决该问题。请注意,这不是 Visual Studio 2015 更新,而是 ASP.NET Core 和工具。

【讨论】:

我不确定安装最新的 ASP.NET Core 1.1 工具与在 VS 2015 中打开 ASP.NET Core 1.0 应用程序以及不安装 VS 2017 RC 有什么关系。我可以查看您是否想在 VS 2015 中将现有的 ASP.NET Core 1.0 应用程序升级到 1.1,但安装 VS 2017 RC 应该与 VS 2015 的工作方式无关,尤其是在 VS 2015 中创建的 .NET Core 项目 【参考方案2】:

转到程序和资源,使用“Core”过滤并找到 Preview 3 安装(“Microsoft .NET Core 1.0.1 - SDK Preview 3 (x64).”)并将其删除。

注意: 在删除此 SDK 之前和之后运行 dotnet --version。在我的案例中,结果为 1.0.0-preview3-004056(before) 和 1.0.0-preview2-1-003177(after)。

我还看不到 vs2017 的副作用。

【讨论】:

这是修复它的一种方法,但是,您可以将 global.json 文件添加到您的解决方案(解决方案文件,未在项目级别添加)指定要使用的核心版本 "projects" : [], "sdk": "version":"1.0.0-preview2-003121" 【参考方案3】:

@ClaudioNunes 和@MegaTron 拥有the correct answer。阅读该答案后,我意识到我的 .NET Core 解决方案没有 global.json 文件。我添加了一个新的解决方案文件夹并添加了一个 global.json 文件。由于我的所有项目都没有嵌套在子文件夹中,因此我只需从项目数组中删除“src”和“test”:


  "projects": [],
  "sdk": 
    "version": "1.0.0-preview2-003131"
  

该项目现在可以在安装了 VS 2017 RC 的 VS 2015 中正确打开。

【讨论】:

为我工作谢谢。 @Luiz 会像他一样得到答案,但他的答案并不详细 谢谢。升级到 VS 2017 RC 后我很困惑。但现在可以了。 另外我不得不在每个项目上运行dotnet restore,但之后一切都按预期工作。 你说的这个新的解决方案文件夹是什么? 它不适用于"version": "1.0.0",但是当我尝试"version": "1.0.0-preview2-003131" 时它起作用了....感谢您挽救生命...【参考方案4】:

一种可能的解决方法是在解决方案中添加 global.json 并指定要使用的 sdk 版本


  "projects": [ "src", "test" ],
  "sdk": 
    "version": "1.0.0-preview2-003131"
  

【讨论】:

【参考方案5】:

项目升级已从 Visual Studio 2017 RC 改进到 Visual Studio 2017 RTM,现在正在运行。

我最终在 Visual Studio 2017 中打开了我的 Visual Studio 2015 ASP.NET Core 解决方案,它升级了解决方案中的每个项目。然后我更新了 nuget 包,解决方案没有任何副作用。

【讨论】:

以上是关于Visual Studio 2017 安装中断 Visual Studio 2015 ASP.NET Core 项目的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2017安装MSDN

Visual Studio 2019 更新中断发布(不正确的 TLS 版本)

Visual Studio 2017正式版离线安装方法

Visual Studio 2017和SAP Crystal Reports

即使在 C# 代码中处理,InvalidOperationException 也会导致 Visual Studio 中断

如何在 Visual Studio 中跳过 Debug Assertion Failed 并直接中断