Если у вас есть тип проекта веб-сайта ASP.NET (тот, у которого нет правильного файла проекта .csproj или .vpproj, и это просто папка с незакрепленными файлами), то когда вы добавляете пакет с NuGet, он делает Файл * .dll.refresh в каталоге Bin для ссылки на dll пакета в папке родительских пакетов.
Например, если вы выполняете «install-package elmah» из консоли диспетчера пакетов, то Elmah помещается в папку пакетов в каталоге решений проекта, а файл Elmah.dll.refresh помещается в папку Bin проекта. .
Когда я собираю проект локально, Visual Studio автоматически извлекает библиотеку DLL, на которую ссылается файл обновления. Сайт и Элма работают правильно. У меня нет файла Elmah.dll, который находится в каталоге Bin проекта, зарегистрированного в системе управления версиями (только файл обновления и папка пакетов отмечены).
Однако я использую проекты веб-развертывания для предварительной компиляции сайта и выполнения замен web.config для развертываний. Когда решение построено таким образом, Elmah.dll автоматически не загружается в каталог Bin проекта веб-сайта, и сайт работает неправильно из-за отсутствующей DLL.
Как NuGet предназначен для использования в подобных ситуациях? Должен ли я проверить в Elmah.dll в каталоге Bin?