我有带有Microsoft.AspNetCore.App 2.1.1版的ASP.NET Api应用程序 和xUnit Test with Microsoft.NETCore.App版本2.1.0
我添加了xUnit Test应用程序,该应用程序已引用了Api项目。 由于版本差异(2.1.1和2.1.0),解决方案在构建时会出错。
错误:
错误CS1705
标识为'Customer.API,版本= 1.0.0.0,文化=中性,PublicKeyToken =空的程序集'Customer.API'使用'Microsoft.AspNetCore.Mvc.Core,版本= 2.1.1.0,文化=中性,PublicKeyToken = adb9793829ddae60 ',其版本比引用程序集“ Microsoft.AspNetCore.Mvc.Core”的身份为“ Microsoft.AspNetCore.Mvc.Core,版本= 2.0.0.0,Culture = neutral,PublicKeyToken = adb9793829ddae60”
问题是:如何在测试项目中升级Microsoft.AspNetCore.App。
PS:在Nuget Manager中,无法更改版本或更新(在测试项目中)
答案 0 :(得分:1)
右键单击解决方案。转到 NuGet解决方案软件包 单击Microsoft.AspNetCore.App,然后在右侧面板中单击xUnit Test Project的复选框,然后将版本更改为2.1.1并安装。
再次构建。
解决了我的情况
答案 1 :(得分:0)
接受的答案将解决该问题。只是为了增加真正导致此问题的原因的背景:
此问题是由于为Microsoft.AspNetCore.App元包引入的隐式版本控制引起的。通过隐式版本控制,sdk决定版本并将其解析为2.1.1
但是,它已将nunit测试项目解析为2.1版。指定nunit项目的版本号(例如)并执行dotnet restore有助于解决此问题。
github上有一个针对此问题的票证,这种隐式版本控制的行为将来可能会改变-https://github.com/aspnet/AspNetCore.Docs/issues/6430和https://github.com/dotnet/core/blob/master/release-notes/1.0/sdk/1.0-rc3-implicit-package-refs.md