Ошибки при загрузке слабосвязанных пользовательских сборок.C#

Место общения программистов C#
Ответить
Anonymous
 Ошибки при загрузке слабосвязанных пользовательских сборок.

Сообщение Anonymous »

Я разрабатываю веб-API с использованием Net 6.
Предварительная структура API показана на рисунке.
Изображение

ContractGpdApi — это прямой сборка API. Он имеет ссылку на сборку ContractGpdApi.ServiceInterfaces.
ContractGpdApi.ServiceInterfaces — эта сборка содержит классы DTO (бизнес-модели) и сервисные интерфейсы.
ContractGpdApi.ServiceImplementations — эта сборка содержит классы, реализующие интерфейсы сборки ContractGpdApi.ServiceInterfaces. Сборка адаптирует методы и классы сборки ContractGpdApi.DbServiceInterfaces в методы и классы сборки ContractGpdApi.ServiceInterfaces.
ContractGpdApi.DbServiceInterfaces — эта сборка содержит классы и интерфейсы уровня доступа к базе данных.
ContractGpdApi.DbServiceImplementations — эта сборка содержит классы, реализующие интерфейсы сборки ContractGpdApi.DbServiceInterfaces. Сборка содержит ссылку на сборку ContractGpdApi.DbServiceInterfaces, а также ссылки на сборки microsoft.entityframeworkcore, microsoft.entityframeworkcore.sqlserver.
В итоге я реализовал шаблон Ladder и разделил CUI. на слабосвязанные слои.
Уровень базы данных представлен двумя сборками: ContractGpdApi.DbServiceImplementations и ContractGpdApi.DbServiceInterfaces.
Рабочий уровень бизнеса представлен двумя сборками: ContractGpdApi.ServiceImplementations и ContractGpdApi.ServiceInterfaces.
Соответственно, сборка ContractGpdApi будет своего рода корнем, куда вы загружаете и встраивать зависимости, слабосвязанные сборки.
При загрузке сборок возникают следующие ошибки:
  • < blockquote>
    Не удалось загрузить файл или сборку «ContractGpdApi.DbServiceInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null». Указанный файл не найден.

  • Не удалось загрузите файл или сборку «Microsoft.EntityFrameworkCore, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60». Указанный файл не найден.
Изображение

Все остальные сборки загружаются нормально.
Содержимое файла ContractGpdApi.csproj :

Код: Выделить всё



net6.0















Содержимое файла CopyingAssemblies.bat:

Код: Выделить всё

xcopy /y "C:\Git\ContractGpdApi\ContractGpdApi.DbServiceImplementations\bin\Debug\net6.0\*.dll" "C:\Git\ContractGpdApi\ContractGpdApi\bin\Debug\net6.0"
xcopy /y "C:\Git\ContractGpdApi\ContractGpdApi.ServiceImplementations\bin\Debug\net6.0\*.dll" "C:\Git\ContractGpdApi\ContractGpdApi\bin\Debug\net6.0"
Скажите, что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/703 ... assemblies
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»