.NetCore 3.1API Не удалось загрузить файл или сборку Microsoft.AspNetCore.Hosting.Abstractions

Необработанное исключение. System.IO.FileNotFoundException: не удалось загрузить файл или сборку Microsoft.AspNetCore.Hosting.Abstractions, Version = 3.1.0.0, Culture = нейтральный, PublicKeyToken = adb9793829ddae60. Система не может найти указанный файл. Имя файла: 'Microsoft.AspNetCore.Hosting.Abstractions, Version = 3.1.0.0, Culture = нейтральный, PublicKeyToken = adb9793829ddae60'

Я использую aws для развертывания своего проекта на сервере (.NetCore 3.1). Я получаю сообщение об ошибке, но в локальном режиме работает нормально.

Я попытался установить Microsoft.AspNetCore.Hosting.Abstractions. Но все же я сталкиваюсь с той же проблемой.

Пожалуйста, найдите ниже ссылку на пакет

 <Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="EPPlus" Version="5.1.1" />
    <PackageReference Include="Microsoft.AspNetCore.Http.Features" Version="3.1.5" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer" Version="4.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.6" />
    <PackageReference Include="MongoDB.Driver" Version="2.10.3" />
    <PackageReference Include="Nancy" Version="2.0.0" />
    <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="5.4.1" />
    
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\Helpers\Helpers.csproj" />
    <ProjectReference Include="..\Models\Models.csproj" />
    <ProjectReference Include="..\Repository\Repository.csproj" />
    <ProjectReference Include="..\Services\Services.csproj" />
  </ItemGroup>


</Project>

Я просмотрел несколько ссылок относительно той же ошибки. Перепробовал весь способ. Но все же у меня такая же проблема.


person Aravindhan R    schedule 21.06.2020    source источник
comment
Ребята, помогите мне, пожалуйста   -  person Aravindhan R    schedule 22.06.2020
comment
Вы установили последнюю версию пакета веб-хостинга в AWS?   -  person Jokies Ding    schedule 23.06.2020
comment
@JokiesDing Я не уверен, потому что я не обслуживаю этот сервер. Но я извлек dll, затем я узнал на сервере, что нет последней версии Microsoft.AspNetCore.Hosting.Abstractions (сборка Microsoft.AspNetCore.Hosting.Abstractions, Version = 2.2.0.0, Culture = нейтральный, PublicKeyToken = adb9793829ddae60 ), но в моем локальном (сборка Microsoft.AspNetCore.Hosting.Abstractions, Version = 3.1.4.0, Culture = нейтральный, PublicKeyToken = adb9793829ddae60). Надеюсь, я думаю, что на сервере нет последней версии   -  person Aravindhan R    schedule 23.06.2020
comment
Похоже, что версия ядра .net на AWS - это .net core 2.2. Итак, вы установили 3.1 и пакет хостинга на этом сервере AWS?   -  person Jokies Ding    schedule 23.06.2020
comment
Да в сервере 3.1 присутствует.   -  person Aravindhan R    schedule 23.06.2020
comment
`Установленные SDK .NET Core: 2.1.105 [C: \ Program Files ..] 2.2.110 [C: \ Program Files ..] Установленные среды выполнения .NET Core: Microsoft.AspNetCore.All 2.2.0 [C: \ Program Files..l] Microsoft.AspNetCore.App 2.2.0 [C: \ Program Files ..] Microsoft.AspNetCore.App 3.1.3 [C: \ Program Files ..] Microsoft.NETCore.App 2.2.0 [C: \ Program Files ..] Microsoft.NETCore.App 3.1.3 [C: \ Program Files ..] `   -  person Aravindhan R    schedule 23.06.2020
comment
Не могли бы вы заставить его работать с аутпроцессом, включив dll в свой проект? docs.microsoft.com/en-us/aspnet/core/host-and-deploy/   -  person Jokies Ding    schedule 23.06.2020
comment
Я уверен, @JokiesDing. Я сомневаюсь. Я использую один проект api и четыре библиотеки классов. Мне нужно добавить это для всех пяти   -  person Aravindhan R    schedule 23.06.2020
comment
Почему вы не указываете точную ссылку на отсутствующую сборку в вашем csproj? Какие сборки вы видите на выходе, когда делаете точечную сетевую публикацию с помощью cli?   -  person jbooker    schedule 23.06.2020
comment
@jbooker Пока публикуете с локального сервера и размещаете в i, все работает нормально. Но в публикации AWS выкидываете эту ошибку.   -  person Aravindhan R    schedule 23.06.2020
comment
Вы можете точно ответить на мои вопросы?   -  person jbooker    schedule 23.06.2020
comment
Сообщение об ошибке довольно указывает на проблему. Если вы ответите на мои вопросы, думаю, вы найдете свое решение ..   -  person jbooker    schedule 23.06.2020
comment
@jbooker Обычно будет сгенерирована сборка, которую мы указали в csproj, а также будут сгенерированы другие сборки. Да, я обнаружил проблему. Microsoft.AspNetCore.Hosting.Abstraction показывает 2.2.0 .., которая генерируется в aws и еще несколько вещей, также генерирующих 2.2.0. Но в моей локальной публикации он показывает, что сборки генерируются в основных версиях, то есть 3.1.0. Что-то работает в конфигурации AWS. У меня нет доступа к AWS.   -  person Aravindhan R    schedule 24.06.2020
comment
Вы пытались опубликовать и посмотреть выходной каталог, для которого были включены двоичные файлы? Если нет, то мне почти невозможно помочь вам, если мы не пройдем через этот процесс. Вместо этого я бы рекомендовал создать минимально воспроизводимый пример и опубликовать его, чтобы получить некоторую помощь.   -  person jbooker    schedule 24.06.2020
comment
Как вы опубликовали приложение? Я думаю, что хостинг-аут-процесс или установка 3.1.0 были бы выбором. Возможно, вам стоит исправить это на стороне проекта, попытавшись правильно указать в csproj, поскольку вы не можете получить доступ к AWS.   -  person Jokies Ding    schedule 24.06.2020
comment
Вы пробовали опубликовать свое приложение как автономное?   -  person Tubbe    schedule 24.06.2020
comment
@JokiesDing Я пробовал переиграть, не работает   -  person Aravindhan R    schedule 24.06.2020
comment
@JokiesDing Я поговорил с администратором AWS. Он сказал, что проверяет и сообщает мне о файле развертывания AWS config.   -  person Aravindhan R    schedule 24.06.2020
comment
Вы проверили все встроенные проекты на предмет отсутствия сборки?   -  person Maciej Los    schedule 25.06.2020


Ответы (1)


Это может быть похоже на эту проблему (другой файл) https://docs.microsoft.com/en-us/answers/questions/8017/aspnet-core-310-site-wont-run-could-not-load-micro.html

Не могли бы вы проверить все пакеты, связанные с ядром .Net, во всех проектах? Кроме того, если вы разместите ссылку на пакет из всех своих проектов, это будет легко проверить.

Проблема может быть связана с одним или несколькими пакетами в любом из ваших проектов. Также убедитесь, что в AWS доступна правильная версия SDK. Попробуйте пустое приложение с той же настройкой проекта (одинаковые пакеты во всех 5 проектах с более низкой версией пакета) и разверните его в AWS, чтобы выяснить проблему.

person Karthik    schedule 25.06.2020
comment
Для всех 5 проектов я установил один и тот же пакет, который я опубликовал. Проблема в том, что если я публикую самостоятельно и размещаю в среде, он работает нормально, но если опубликовать по конвейеру, он показывает ошибку. Так что я немного запутался. - person Aravindhan R; 26.06.2020
comment
Может быть, разница между компиляцией в Windows и Linux? - person Mike Rowley; 09.07.2021