.Net не находит ссылочную зависимость, необходимую для пакета Nuget - PullRequest
0 голосов
/ 14 декабря 2018

Недавно мы настроили локальный сервер nuget для улучшения обработки зависимостей в наших проектах.Для упаковки и отправки наших библиотек мы используем «новый» формат проекта в Visual Studio и дополнение для рынка под названием NuPack-Nuget Packager.

Рабочий процесс для разработки - это создание нового проекта и получение необходимых зависимостей.

Теперь у нас странное поведение на всех рабочих местах.

Например.у нас есть 2 библиотеки: LibA (версия 1.1.0) и LibB (версия 2.5.0), где LibB зависит от LibA и ссылается на него как на ссылку проекта.У меня есть проект, ссылающийся на LibB (версия 2.5.0) через Nuget.

Когда я меняю LibB (сейчас версия 2.5.1) и помещаю его в наш Nuget и обновляю ссылку в моем проекте, все выглядит нормально, проект собирается и не имеет ошибок, но во время выполнения, когда кодвыполняется, что ссылается на LibA (по-прежнему версия 1.1.0, без изменений) я получаю исключение FileNotFound: Assembly LibA, AssemblyVersion 1.1.0 не может быть найден.

Единственный обходной путь на данный момент - это упаковать новый LibA в версии 1.1.1 (без изменений кода) и отправить его на сервер nuget и обновить ссылку в моем проекте до версии 1.1.1.

Кто-нибудь знает причину / решение этой проблемы?

РЕДАКТИРОВАТЬ Вещи, которые не решают проблему:

  • Очистить / восстановитьрешение (ни Зависимости, ни Проект)
  • Update-Package -reinstall в командной строке диспетчера пакетов
  • Очистка кэшей Nuget и восстановление всех зависимостей
  • Удаление и чтение ссылки на Nuget в проекте с помощьюhand

EDIT Точное сообщение об ошибке (имя сборки изменено)

System.IO.FileNotFoundException: «Не удалось загрузить файл или сборку» Lib.A.Namespace.1.1, версия = 1.1.7, культура = нейтральная, PublicKeyToken = ноль '.Das System kann die angegebene Datei nicht finden. '

Перевод последней части: "Файл не найден"

EDIT Все зависимости компилируются какAnyCPU для NetStandard2.0

1 Ответ

0 голосов
/ 19 декабря 2018

Проблема была обнаружена. NuPack-Nuget Packager здесь «виноват».Для любого, кто столкнется с этим в будущем:

Нашей проблемой был способ работы NuPack-Nuget Packager.Хотя рабочий процесс кажется удобным (установите Assemblyversion, установите выходной каталог, установите сервер nuget, завершен), проект не будет собран для развертывания пакета и, таким образом, опирается на предыдущую сборку, которая по-прежнему содержит предыдущую версию AssemblyVersion.

Мы наконец-то нашли решение, узнав, что перетаскиваем устаревшие ссылки (находятся в папке User / .Nuget / Packages).

Мы не пришли к окончательному шагурешение для сборки, упаковки и развертывания.

...