Visual Studio 2017 install breaks Visual Studio 2015 ASP.NET Core Projects
安装完Visual Studio 2017专业版之后,我无法再在Visual Studio 2015专业版中构建我的ASP.NET核心。我从来没有在VS2017中打开过这个项目
我得到
0
然后,我在Visual Studio 2015中创建了一个全新的ASP.NET核心项目,加载项目时收到了完全相同的消息。
另外,当我想建立项目时,我得到
MSB1009: Project File does not exist.
同样的问题不会出现在ASP.NET 5项目中,因此它仅限于ASP.NET核心
Visual Studio 2017年3月7日更新
如果添加了global.json,如下面的答案所示,那么对于global.json中使用的任何.NET框架版本以及C:\Program Files\dotnet\sdk\文件夹中存在的任何.NET框架版本,都会收到错误消息。
Error MSB4019 The imported project"C:\Program Files\dotnet\sdk\X.X.X\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.
另外,当关闭Visual Studio并再次打开它时,我会收到原始错误消息
- Visual Studio 2017更新了.NET Core SDK,这带来了很多变化,例如从project.json开始,在Visual Studio中工作时对性能进行了一些优化。这是.NET核心本身的一个突破性变化。
- 我也在我的机器上安装了vs 2017 rc,它有vs 2015 update 3,并且在vs 2015中打开现有的ASP.NET Core 1.0应用程序时得到了完全相同的错误。在安装Vs2017 RC之前,这个项目在Vs2015年开得很好,我从未尝试用Vs2017 RC打开它。我卸载了VS 2017 RC和ASP.NET Core 1.0应用程序,它打开得很好,现在用VS 2015构建。因此,显然,与微软所说的相反,你不能在一台装有vs 2015的机器上安装vs 2017 rc。至少如果你想打开用vs 2015创建的ASP.NET核心1.0应用程序,在vs 2015中。
- 发布也与默认的VS2017 ASP.NET核心RC模板断开,因此我建议在RTM之前不要发布。
- 找不到与命令dotnet projectmodel server匹配的可执行文件的可能副本
- 不重复,因为这是针对vs 2017rc的
- 在github上有一个相关的测试线程:github.com/aspnet/tooling/issues/629。在我的项目中添加global.json文件解决了这个问题。
- 我为您3月7日更新的Microsoft.dotnet.props找到了一个解决方法。转到您的C:\Program Files\dotnet\sdk文件夹,找到1.0.0之前安装的文件夹(在我的情况下是1.0.0-preview2-1-003177)。用global.json中的值替换sdk/version。然后是dotnet restore。
- @我提供的只是一个变通方案。基础问题仍然需要微软来解决。
- @愤怒的黑客谢谢。我认为有一种方法可以同时运行旧的ASP.NET核心Visual Studio 2015项目和Visual Studio 2017项目。我想我将不得不考虑升级我的旧项目,因为看起来你不能同时做这两件事。
- 同样的问题也存在,但这并没有解决问题。
@克劳迪昂内斯和@megatron有正确的答案。在阅读了这个答案之后,我意识到我的.NET核心解决方案没有global.json文件。我添加了一个新的解决方案文件夹,并添加了一个global.json文件。因为我的项目都没有嵌套在子文件夹中,所以我只需要从项目数组中删除"src"和"test":
1 2 3 4 5 6
| {
"projects": [],
"sdk": {
"version":"1.0.0-preview2-003131"
}
} |
该项目于2015年正式启动,安装了VS 2017 RC。
- 为我工作,谢谢。@Luiz本可以像他第一次那样得到答案,但他的答案并不详细。
- 谢谢您。升级到Vs2017 RC后我很困惑。但现在它起作用了。
- 通常,我不得不在每个项目上运行dotnet restore,但之后一切都按预期工作。
- 啊,非常感谢:)
- 你所说的这个新的解决方案文件夹是什么?
- 我有两个项目.NET核心在VS2017之后失败了,但是当为每个项目创建一个"global.json"时,一切都正常!谢谢!
- 同样的问题也出现了。
- 它不适用于"version":"1.0.0",但当我尝试"version":"1.0.0-preview2-003131"时,它起作用了……谢谢你救了我的命…
- 来自@nisar的重要通知。官方网络文档中也有几乎相同的答案。
- 谢谢对我很有吸引力
- @Mathieuk.,也许你不需要把这个JSON文件放在任何子文件夹中,至少我要把它放在根文件夹中。此外,卸载和重新加载项目后,我做了。
- 这里解释了blogs.msdn.microsoft.com/dotnet/2017/08/14/…,转到"与.NET核心1.0和1.1应用程序的关系"部分。
一个可能的解决方案是向解决方案中添加global.json,并指定要在中使用的sdk版本。
1 2 3 4 5 6
| {
"projects": ["src","test" ],
"sdk": {
"version":"1.0.0-preview2-003131"
}
} |
转到"程序和资源",使用"core"筛选并找到Preview 3安装("Microsoft.NET Core 1.0.1-SDK Preview 3(x64)),然后将其删除。
注:删除此SDK前后运行dotnet --version。在我的案例中,结果是EDOCX1(之前)和EDOCX1(之后)。
我还看不到VS2017的副作用。
- 这是修复它的一种方法,但是,您可以将global.json文件添加到解决方案中(解决方案文件,不在项目级别添加),指定要使用{"projects" : [],"sdk":{"version":"1.0.0-preview2-003121"}}的核心版本。
查看此链接:https://github.com/aspnet/toolg/blob/master/known-issues-vs2017.md known-issues-for-aspnet-core-support-in-visual-studio-2017
如果您将Visual Studio 2015工具更新为最新版本,它将修复此问题。注意,这不是Visual Studio 2015更新,而是ASP.NET核心和工具。
- 我不确定安装最新的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核心项目中。
- @托德试过了,但没用
- 实际上,降级可能有效。
- 这个不行
项目升级已从Visual Studio 2017 RC升级为Visual Studio 2017 RTM,目前正在运行。
最后我在Visual Studio 2017中打开了我的Visual Studio 2015 ASP.NET核心解决方案,它升级了解决方案中的每个项目。然后我更新了nuget包,解决方案没有任何副作用。