c# - 我的 XUnit dotnet 核心项目在我的桌面上构建,但不在 DevOps Server 2019 中构建

标签 c# asp.net-core .net-core xunit.net

我有一个面向 .net Core 3.1 的 asp.net Web api 项目。它构建在 DevOps Server 2019 上就很好。

我添加了一个项目来运行 XUnit 测试。该项目还针对 .net Core 3.1。该解决方案(包含两个项目)在我的桌面上构建得很好,但是当我尝试在服务器上构建它时,我收到如下错误:

[错误]CSC(0,0):

Error CS1705: Assembly 'myteam API' with identity 'myteam API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'Microsoft.AspNetCore.Mvc.Core, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' which has a higher version than referenced assembly 'Microsoft.AspNetCore.Mvc.Core' with identity 'Microsoft.AspNetCore.Mvc.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60

最佳答案

我遇到了类似的问题,最终由于 nuget 包(例如 NSWag.AspNetCore)引用旧版本的 Microsoft.ASpNetCore.Mvc.Core (1.0.3) 而导致。 .

后者不是 Nuget 包,您不能简单地将其添加到项目中来解决不匹配问题。

更具体地说,在我的场景中,问题不在于 Asp.Net Core csproj 本身,而在于另一个引用了 Asp.Net Core 项目的项目(在我们的例子中为单元测试项目)。因此,更新后一个 csproj 以使用:

<Project Sdk="Microsoft.NET.Sdk.Web">

而不是

<Project Sdk="Microsoft.NET.Sdk">

这样做时,项目将能够根据其 TargetFramework 访问正确的 Asp.Net.Core 依赖项。

关于c# - 我的 XUnit dotnet 核心项目在我的桌面上构建,但不在 DevOps Server 2019 中构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59888072/

相关文章:

.net-core - VSTS Visual Studio 设置环境变量测试项目

c# - Automapper 从外部类映射到内部类变量

c# - Windows 服务 - 迁移到 64 位。 '64-bit benefits'的实现步骤

c# - Dispose 中的空 "using"语句

c# - Asp.net 核心代码优先数据库迁移

c# - 是否可以在 DbContext 中添加而不在 .net 核心中进行跟踪

c# - lock关键字的使用c#

asp.net-core - 将 Office Addins 项目的目标框架从 .NET Framework 更改为 .NET Core

c# - 我将我的 .NET CORE 项目从 2.1 更新到 3.1,但我在类 Startup 中有一些错误

c# - 用源代码替换对 Json.NET 的引用时无法编译项目