Я получаю сообщение об ошибке «Microsoft.AspNetCore.Hosting.Абстракции, версия = 3.1.0.0» в приложении .NET Core 3.1

#.net-core #.net-core-3.1

#.net-core #.net-core-3.1

Вопрос:

Последняя версия «Microsoft.AspNetCore.Hosting.»Абстракции» — 2.2.0, поэтому я не уверен, где он получает 3.1.0.0.

Я просмотрел все свои файлы .csproj, и все они ссылаются на 2.2.0. Я не уверен, где еще искать.

У меня есть 3 разных приложения (решения), которые совместно используют проекты, и это происходит со всеми из них в разное время. Один из них работает, если я публикую его из VS, но я хотел бы попытаться развернуть их с помощью конвейера выпуска Azure DevOps.

Комментарии:

1. Пожалуйста, уточните свой вопрос и название.

2. Спасибо, Никола, но я не верю, что ваш скорректированный заголовок — это то, о чем я спрашиваю. Мне интересно, как я могу предотвратить возникновение ошибки вообще, тем более, что я нигде на нее не ссылаюсь.

3. Затем, пожалуйста, внесите соответствующие коррективы, чтобы предоставить больше контекста и подробностей о том, что происходит. в качестве быстрого устранения неполадок вы можете проверить, не ссылается ли какой-либо пакет на более новые / старые версии того, что вы используете в данный момент. Для этого вы можете открыть страницу для каждого пакета nuget и посмотреть, на что он ссылается в разделе «Зависимости» страницы

Ответ №1:

Пакет Nuget Microsoft.AspNetCore.Hosting.Abstractions перешел в Microsoft.Расширения.Хостинг.Абстракции для версий 2.x и выше, все версии 3.x, а также версии 5.x. версия 2.x, скорее всего, оставлена в старом пакете nuget в качестве пакета совместимости или аналогичного.

Комментарии:

1. Похоже, у меня есть оба «Microsoft. AspNetCore.Hosting. Абстракции» и «Microsoft. Расширения. Хостинг. Абстракции», на которые ссылаются в моих проектах. Могут ли они конфликтовать?

2. Абсолютно. Если вы используете .net core 3.1, выберите Microsoft.Extensions.Hosting.Abstractions пакет 3.1. если вы используете 2.1, выберите тот Microsoft.AspNetCore.Hosting.Abstractions или иной, в зависимости от того, что уже используется.

3. Это сработало. Он вернул и запустил 2 из моих 3 проектов. У 3-го по-прежнему та же ошибка, но я рассмотрю ее отдельно. Вы определенно помогли мне. Большое спасибо!

4. Да, так что этот ответ не кажется полным. Я пытаюсь получить доступ IWebHostEnvironment , в Microsoft.AspNetCore.Hosting котором есть версия 5.0.2, но для этого нет пакета nuget. .. Кажется, я должен включить весь пакет aspnetcore!!

5. @JHBonarius Пожалуйста, прочтите мой ответ. пакет переместился в другой пакет. И, возможно, вы пытаетесь получить доступ к более старому интерфейсу, который не существует в том же пространстве имен.