2017-03-15 189 views
4

我正在使用Microsoft.NETCore.App版本1.1.0构建一个dotnetcore项目。我曾尝试更新到1.1.1,但我们的项目使用了NUnit,它在1.1.1中尚未完全支持。所以,我不得不把它推回去。但是,作为更新的一部分,我必须安装1.1.1的.Net Core应用程序。回滚之后,我重新安装了1.1.0,当我建立我仍然得到以下错误:DotNetCore构建失败,因为Microsoft.DotNet.Props丢失

Error MSB4019 The imported project "C:\Program Files\dotnet\sdk\1.0.1\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. 

我看着在我安装了SDK的所有版本的文件目录,没有的他们有那个目录。这工作,直到我今天早上尝试更新。我不确定为什么在重新安装旧版本的.Net Core之后仍然失败。这对我来说是一个阻碍,因为它阻止我构建和完成API的功能。任何帮助深表感谢。

更新:答案显然是将项目迁移到VS2017,可惜目前还不是一个选择,因为我们的项目使用NUnit的测试,这是尚未完全VS2017和dotnetcore支持。

+0

随着VS2017和.NET Core tooling 1.0 RTM在3月7日发布,请不要在VS2015上浪费时间。 –

+1

不幸的是,我不能移动到2017年,因为我们的套件使用NUnit,它与VS2017和dotnetcore的兼容性有限 – cidthecoatrack

+0

您提到NUnit是相当有趣的。您可以安全地开发.NET标准类库,然后在传统的.NET Framework类库项目中运行NUnit测试用例。 –

回答

5

要继续使用xproj和project.json,只能使用Visual Studio 2015和.NET Core CLI预览2.运行dotnet--info来确定您拥有哪个版本的.NET Core CLI。您必须使用以“1.0.0-preview2”开头的版本。任何新的不支持xproj或project.json。

如果您安装了多个版本的.NET Core CLI,则默认情况下执行“dotnet.exe”将使用最新版本。您可以通过向项目添加一个名为“global.json”的文件并在其中设置SDK版本来控制此项。例如:

{ 
    "sdk": { "version": "1.0.0-preview2-003131" } 
} 
+0

谢谢,这解决了我的编译错误。 – cidthecoatrack