我的 XUnit dotnet 核心项目构建在我的桌面上,但不在 DevOps Server 2019 中
My XUnit dotnet core project builds on my desktop but not in DevOps Server 2019
我有一个针对 .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
我通过在构建管道中使用 DotNetCoreCLI@2
任务而不是 VSBuild@1
任务解决了这个问题。
我有一个类似的问题,它最终是由于 nuget 包(例如 NSWag.AspNetCore)引用了旧版本的 Microsoft.ASpNetCore.Mvc.Core (1.0.3)
。
后者不是 Nuget 包,您不能简单地将其添加到项目中来解决不匹配问题。
更具体地说,在我的场景中,问题不在于 Asp.Net 核心 csproj 本身,而是另一个引用了 Asp.Net 核心项目。因此,更新后一个 csproj 以使用:
<Project Sdk="Microsoft.NET.Sdk.Web">
而不是
<Project Sdk="Microsoft.NET.Sdk">
这样做,项目将可以访问正确的 Asp.Net。根据其 TargetFramework 的核心依赖项。
我有一个针对 .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
我通过在构建管道中使用 DotNetCoreCLI@2
任务而不是 VSBuild@1
任务解决了这个问题。
我有一个类似的问题,它最终是由于 nuget 包(例如 NSWag.AspNetCore)引用了旧版本的 Microsoft.ASpNetCore.Mvc.Core (1.0.3)
。
后者不是 Nuget 包,您不能简单地将其添加到项目中来解决不匹配问题。
更具体地说,在我的场景中,问题不在于 Asp.Net 核心 csproj 本身,而是另一个引用了 Asp.Net 核心项目。因此,更新后一个 csproj 以使用:
<Project Sdk="Microsoft.NET.Sdk.Web">
而不是
<Project Sdk="Microsoft.NET.Sdk">
这样做,项目将可以访问正确的 Asp.Net。根据其 TargetFramework 的核心依赖项。