c# - 我的 XUnit dotnet 核心项目构建在我的桌面上,但不在 DevOps Server 2019 中
问题描述
我有一个针对 .net Core 3.1 的 asp.net web api 项目。它建立在 DevOps Server 2019 上就好了。
我添加了一个项目来运行 XUnit 测试。该项目还针对 .net Core 3.1。该解决方案(包含两个项目)在我的桌面上构建得很好,但是当我尝试在服务器上构建它时,我收到如下错误:
[错误]CSC(0,0):
错误 CS1705:具有标识“myteam API,版本=1.0.0.0,Culture=neutral,PublicKeyToken=null”的程序集“myteam API”使用“Microsoft.AspNetCore.Mvc.Core,版本=3.1.0.0,Culture=neutral,PublicKeyToken= adb9793829ddae60' 具有比引用程序集“Microsoft.AspNetCore.Mvc.Core”更高的版本,其标识为“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 依赖项。
推荐阅读
- swiftui - SwiftUI fullscreen horizontal swipe with dot indicator
- java - “扫描仪无法解析为某种类型”我该如何解决?
- javascript - 动态添加后无法使用 QuerySelectorAll 检索 HTML
- javascript - 如何获取隐藏文件夹中图像的文件路径?
- javascript - 为什么对 this.data.length 的测试会失败?
- python - 如何将字符串矩阵更改为整数矩阵
- javascript - 如何修复“在 StrictMode 中不推荐使用 findDOMNode”错误?
- android - AWS Appsync - 无法解析订阅 - _version 的预期非空值
- apache-spark - 如何将新列添加到 Hive 外部表中的按子句分区
- r - 如何返回一个 DataFrame 中与另一个 DataFrame 中的行部分匹配的行(字符串匹配)