我正在尝试更新到NetCore2.0,但是我在所有安装了引用的软件包上都遇到了这些错误
问题,也许:
我在输出中得到了对netcoreapp1.0的引用:
Microsoft.EntityFrameworkCore.Tools.DotNet 2.0.0软件包与netcoreapp1.0(.NETCoreApp,版本=v1.0)不兼容。Microsoft.EntityFrameworkCore.Tools.DotNet 2.0.0软件包支持:netcoreapp2.0(.NETCoreApp,版本=v2.0)
一个或多个程序包与.NETCoreApp不兼容,版本=v1.0。
检测到的包:Microsoft.ApplicationInsights.AspNetCore从2.1.1到2.0.0
Microsoft.AspNetCore.All(>=2.0.0)->Microsoft.AspNetCore.ApplicationInsights.HostingStartup(>=2.0.0)->Microsoft.ApplicationInsights.AspNetCore(>=2.1.1)
应用程序(>=1.0.0)->Microsoft.ApplicationInsights.AspNetCore(>=2.0.0)
之后,我得到所有组件的以下消息:
Microsoft.AspNetCore.ANYPACKAGE 2.0.0软件包与netcoreapp2.0(.NETCoreApp,版本=v2.0)不兼容。Microsoft.AspNetCore.WebSockets 2.0.0包支持:netstandard2.0(.NETStandard,Version=v2.0)
这是手册:
https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/
SDK更新至2.0:
这是我的csproj:
<;Project Sdk=“Microsoft.NET.Sdk.Web”>;
<;PropertyGroup>;
<;TargetFramework>;netcoreapp2.0</TargetFramework>;
</PropertyGroup>;
<;PropertyGroup>;
<;AssetTargetFallback>$(AssetTargetFallback);便携式-net45+win8+wp8+wpa81</AssetTargetFallback>;
</PropertyGroup>;
<;项目组>;
<;Compile Remove=“wwwroot\lib\kendo ui core\**”/gt;
<;Content Remove=“wwwroot\lib\kendo ui core\**”/>;
<;EmbeddedResource Remove=“wwwroot\lib\kendo ui core\**”/gt;
<;None Remove=“wwwroot\lib\kendo ui core\**”/>;
</项目组>;
<;项目组>;
<;内容包括=“wwwroot\css\bootstrap lumen.css”/>;
<;内容包括=“wwwroot\css\bootstrap sand.css”/>;
<;内容包括=“wwwroot\css\bootstrap sand.min.css”/>;
<;内容包括=“wwwroot\js\application role index.js”/>;
<;内容包括=“wwwroot\js\family index.js”/>;
<;内容包括=“wwwroot\js\jquery-3.2.1.min.js”/>;
<;内容包括=“wwwroot\js\modal action store.js”/>;
<;内容包括=“wwwroot\js\populate district.js”/>;
<;内容包括=“wwwroot\js\store index.js”/>;
<;内容包括=“wwwroot\js\type index.js”/>;
<;内容包括=“wwwroot\js\user index.js”/>;
<;内容包括=“wwwroot\js\jquery.filtertable.min.js”/>;
<;内容包括=“wwwroot\js\machine index.js”/>;
</项目组>;
<;项目组>;
<;PackageReference Include=“Bootstrap.v3.Datetimepicker”Version=“4.17.45”/>;
<;PackageReference Include=“Bootstrap.v3.Datetimepicker.CSS”Version=“4.17.45”/>;
<;PackageReference Include=“Microsoft.AspNetCore.All”Version=“2.0.0”/>;
<;PackageReference Include=“Microsoft.ApplicationInsights.AspNetCore”Version=“2.0.0”/>;
<;PackageReference Include=“Microsoft.Extensions.Logging.Debug”Version=“2.0.0”/>;
<;PackageReference Include=“Microsoft.VisualStudio.Web.CodeGeneration.Design”Version=“2.0.0”/>;
<;PackageReference Include=“Microsoft.VisualStudio.Web.CodeGenerators.Mvc”Version=“2.0.0”/>;
<;PackageReference Include=“Newtonsoft.Json”Version=“10.0.3”/>;
<;PackageReference Include=“NuGet.CommandLine”Version=“4.1.0”/>;
</项目组>;
<;项目组>;
<;DotNetCliToolReference包括=“Microsoft.VisualStudio.Web.CodeGeneration.Tools”Version=“2.0.0”/>;
<;DotNetCliToolReference包括=“Microsoft.EntityFrameworkCore.Tools.DotNet”版本=“2.0.0”/>;
</项目组>;
</项目>;
提前感谢您的帮助
编辑:更多信息
编译解决方案后,我收到以下消息:
1> CSC:错误CS1703:已导入具有等效标识的多个程序集:“C:\Users\user\.nuget\packages\microsoft.netcore.app\2.0.0\ref\netcoreapp2.0\System.ComponentModel.dll”和“C:\Users\user\.nuget\packages\System.ComponentModel\4.3.0\ref\netstandard1.0\System.ComponentModel.dll”。删除其中一个重复引用
此外,此错误可能发生在过时版本的nuget上。具体来说,4.0.0展示了这个问题。升级到4.3.0为我解决了这个问题
VSTS代理似乎使用4.0.0,因此为了解决这个问题,有一个nuget版本安装程序任务,您可以在构建步骤中运行该任务,以升级构建管道中运行的nuget版本