ChatGPT解决这个技术问题 Extra ChatGPT

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

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

我明白了

尝试运行项目模型服务器进程 (1.0.0-preview3-004056) 时发生以下错误。无法启动进程。找不到与命令 dotnet-projectmodel-server 匹配的可执行文件

https://i.stack.imgur.com/tsuiA.png

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

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

MSB1009:项目文件不存在。

https://i.stack.imgur.com/mSxIh.png

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\XXX\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 之前远离
我为您 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

C
Community

@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" 时它起作用了....感谢您挽救生命...
R
Roman Marusyk

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

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

L
Luiz Carlos Faria

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

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

我还看不到 vs2017 的副作用。


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

看看这个链接: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 项目
d
dfmetro

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

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