我使用Visual Studio 2017创建新的ASP.NET核心应用程序,但由于缺少依赖项而创建的项目无法编译。根据用户的其他建议,我运行了dotnet restore
。这导致应用程序能够编译和运行,但现在我得到了一堆版本冲突,我想摆脱它们
以下是我如何创建项目的截图。
请注意下面项目中缺少的依赖项。
现在我运行dotnet restore
现在应用程序已编译,但我遇到了很多版本冲突
1> Encountered conflict between 'Reference:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.0.0\ref\netcoreapp2.0\System.AppContext.dll' and 'Reference:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.appcontext\4.3.0\ref\netstandard1.6\System.AppContext.dll'. Choosing 'Reference:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.0.0\ref\netcoreapp2.0\System.AppContext.dll' because AssemblyVersion '4.2.0.0' is greater than '4.1.0.0'.
1> Encountered conflict between 'Reference:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.0.0\ref\netcoreapp2.0\System.Collections.dll' and 'Reference:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.collections\4.3.0\ref\netstandard1.3\System.Collections.dll'. Choosing 'Reference:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.0.0\ref\netcoreapp2.0\System.Collections.dll' because AssemblyVersion '4.1.0.0' is greater than '4.0.10.0'.
1> Encountered conflict between 'Reference:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.0.0\ref\netcoreapp2.0\System.Collections.Concurrent.dll' and 'Reference:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.collections.concurrent\4.3.0\ref\netstandard1.3\System.Collections.Concurrent.dll'. Choosing 'Reference:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.0.0\ref\netcoreapp2.0\System.Collections.Concurrent.dll' because AssemblyVersion '4.0.14.0' is greater than '4.0.10.0'.
1> Encountered conflict between 'Reference:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.0.0\ref\netcoreapp2.0\System.Collections.NonGeneric.dll' and 'Reference:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.collections.nongeneric\4.3.0\ref\netstandard1.3\System.Collections.NonGeneric.dll'. Choosing 'Reference:C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.netcore.app\2.0.0\ref\netcoreapp2.0\System.Collections.NonGeneric.dll' because AssemblyVersion '4.1.0.0' is greater than '4.0.1.0'.
... and so on
我的两个问题是
答案 0 :(得分:1)
dotnet build
时,将隐式调用dotnet restore
。这是.NET SDK 2.0的变化。如果您被迫手动运行dotnet restore
,那将成为另一个问题,这意味着您的.NET Core SDK无法生效。您需要了解global.json
并在项目中创建此类文件,以强制使用此计算机上的最新SDK,例如Scott Hanselman wrote。 Visual Studio 2017可能要求您使用“还原NuGet包”菜单项。 Visual Studio for Mac或JetBrains Rider会自动恢复软件包。
请充分利用Google和GitHub,您可以找到微软公布的所有官方信息。
project.assets.json
的存在表明package.json
的遗留问题仍然存在于构建过程中。