我正在尝试将.net核心2.1项目升级到最新版本的Nuget软件包,例如Microsoft.Extensions.DependencyInjection.Abstractions 2.1.1.
但是这被包引用Microsoft.NETCore.App阻止,当我尝试升级"meta"包Microsoft.NETCore.App时,我看到"被项目阻塞"类似于这个问题.通过切换到较新版本的SDK解决了这个问题,但这不是一个选项...因为没有更新版本的SDK(还是?).
我也看到了通过使用Update包引用手动编辑.csproj文件来升级特定包的答案,但我怀疑这是实现此目的的预期方法.
如何应我去呢?现在我只是手动包含我实际使用的包引用并删除了元包,但我无法想象这是打算如何实现的.
在创建测试项目或将应用程序和测试升级到ASP.NET Core 2.1/.NET Core 2.1时,运行测试会因装配加载异常而失败
System.IO.FileNotFoundException:无法加载文件或程序集'Microsoft.AspNetCore,Version = 2.1.0.0,Culture = neutral,PublicKeyToken = adb9793829ddae60'.该系统找不到指定的文件.
添加对其他库的引用时,还会生成类似的警告
警告MSB3277:发现无法解析的"Microsoft.Extensions.Options"的不同版本之间发生冲突.
警告MSB3277:发现无法解析的"Microsoft.Extensions.Configuration.Abstractions"的不同版本之间发生冲突.
警告MSB3277:发现无法解析的"Microsoft.AspNetCore.Hosting.Abstractions"的不同版本之间发生冲突.
警告MSB3277:发现无法解析的"Microsoft.Extensions.DependencyInjection.Abstractions"的不同版本之间发生冲突.
警告MSB3277:发现无法解析的"Microsoft.AspNetCore.Http.Abstractions"的不同版本之间发生冲突.
警告MSB3277:发现无法解析的"Microsoft.AspNetCore.Http.Features"的不同版本之间发生冲突.
如何让测试项目用于测试ASP.NET Core 2.1应用程序?
首先,我遇到了这个构建错误,但只在某些机器上:
错误CS1705汇编'***',标识'***,版本= 1.0.0.0,Culture =中性,PublicKeyToken = null'使用'System.Net.Http,Version = 4.1.1.1,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a '它的版本高于引用的程序集'System.Net.Http',标识为'System.Net.Http,Version = 4.1.1.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'***C:\***\CSC 1有效
我想,它与SDK版本有某种联系.从我在"属性"窗口中可以看到的,在我拥有的一些项目上,Microsoft.NETCore.App 1.1.1而在其他项目中Microsoft.NETCore.App 1.1.2.
包更新后,构建成功(但为什么我被迫更新所有包?).
但是,sdk版本仍然不同.现在我正在尝试使用Visual Studio的这个整合功能:
在工具提示中说:
由于项目或packages.config中的其他约束,以下版本是不可用的
如何将所有项目升级到更新的SDK?如何确保未来不打破其他机器的构建?
我用更新的nuget包更新了一个asp.net core 2应用程序.Boom,我的网络应用程序不再编译.我收到如下所示的错误.我试图通过编辑csproj进入并手动更改版本,但我似乎造成的伤害大于好处.任何人都知道如何解决这个问题?
严重级代码描述项目文件行抑制状态错误NU1605检测到的包降级:Microsoft.NETCore.App从2.0.3到2.0.0.直接从项目引用包以选择不同的版本.BWD.ASPNET.Core - > Microsoft.EntityFrameworkCore.Tools.DotNet 2.0.1 - > Microsoft.NETCore.App(> = 2.0.3)BWD.ASPNET.Core - > Microsoft.NETCore.App(> = 2.0.0) BWD.ASPNET.Core E:\ BWDCore\BWD.ASPNET.Core\BWD.ASPNET.Core\BWD.ASPNET.Core.csproj 1
我遇到了问题,我的AspNetCore.App-metapackage引用了较低版本的EntityFrameworkCore(2.1.2),而不是EfCore提供程序包(NpgSql,引用2.1.3).结果是警告MSB3277(这是问题).这个快速修正是接受的答案.
另一个答案指出,我使用的是较低的Microsoft.AspNetCore.App软件包(当时为2.1.1),而不是上一个稳定版本(2.1.4).更改包版本是不可能的(见下图).
我在类库项目中遇到了与Microsoft.NETCore.App相同的问题
我甚至没有注意到我使用了比现有更旧的元数据包.直到今天,我总是检查,如果NuGet包管理器中有任何更新.我使用了默认的项目模板,并且始终安装了最新的.NetCore SDK,相信这已经足够了.不是.
在研究了这个问题之后,我发现,我可以强制我的项目使用包管理器控制台(Install-Package Microsoft.NETCore.App -Version 2.1.4或Install-Package Microsoft.AspNetCore.App -Version 2.1.4)来使用特定的.NETCore.App或AspNetCore.App元数据包.
在那个命令后我有一个构建错误(NETSDK1061: The project was restored using Microsoft.NETCore.App version 2.1.4, but with current settings, version 2.1.0 would be used instead. To resolve this issue, make sure the same settings are used for restore and for subsequent operations such as build or publish.).