Если у вас есть тип проекта веб-сайта 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?