Мой основной проект XUnit do tnet построен на моем рабочем столе, но не на DevOps Server 2019 - PullRequest
1 голос
/ 24 января 2020

У меня есть проект asp. net web api, предназначенный для net Core 3.1. Он прекрасно работает на DevOps Server 2019.

Я добавил проект для запуска тестов XUnit. Этот проект также нацелен. net Core 3.1. Решение (содержащее оба проекта) прекрасно работает на моем рабочем столе, но когда я пытаюсь построить его на сервере, я получаю следующие ошибки:

[error] CS C (0,0):

Ошибка CS1705: сборка «myteam API» с идентификатором «myteam API, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null» использует «Microsoft.AspNetCore. Mvc .Core, версия = 3.1.0.0, Culture = нейтральный, PublicKeyToken = adb9793829ddae60 ', который имеет более высокую версию, чем указанная сборка' Microsoft.AspNetCore. Mvc .Core 'с удостоверением "Microsoft.AspNetCore. Mvc .Core, версия = 2.0.0.0 , Культура = нейтральная, PublicKeyToken = adb9793829ddae60

Ответы [ 2 ]

2 голосов
/ 04 февраля 2020

У меня была похожая проблема, и она закончилась из-за пакета nuget (например, NSWag.AspNetCore), ссылающегося на более старую версию Microsoft.ASpNetCore.Mvc.Core (1.0.3).

Последний не является пакетом Nuget, и вы не можете просто добавьте его в свой проект, чтобы устранить несоответствие.

Более конкретно, в моем сценарии проблема была не с самим Asp. Net Core csproj, а скорее с другим проектом (в нашем случае, проект модульного тестирования), который имел ссылку на основной проект Asp. Net. Таким образом, обновите последний csproj, чтобы использовать:

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

вместо

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

При этом у проекта будет доступ к правильному Asp. Net. Основные зависимости в соответствии с TargetFramework.

0 голосов
/ 24 января 2020

Я решил эту проблему, используя задачу DotNetCoreCLI@2 в конвейере сборки вместо задачи VSBuild@1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...