Я пытаюсь обойти NuGet ограничения на контроль источника.
Для этого мне нужно узнать немного больше о том, как работает NuGet. Давайте рассмотрим простой пример. У меня есть проект, и я добавляю AutoMapper к нему. Когда я добавляю его, где должна быть помещена dll?
Я спрашиваю, потому что это не кажется последовательным. Иногда ссылка ищет dll в папке "Пакеты":
и иногда он ищет в выходной папке Debug:
Но в обоих случаях строка AutoMapper в файле packages.config
одинаков:
Первый пример:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AutoMapper" version="1.1.0.118" />
<package id="CommonServiceLocator" version="1.0" />
<package id="Unity" version="2.1.505.0" />
</packages>
Второй пример:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NSubstitute" version="1.1.0.0" />
<package id="AutoMapper" version="1.1.0.118" />
<package id="CommonServiceLocator" version="1.0" />
<package id="Unity" version="2.1.505.0" />
</packages>
Итак, что контролирует, где он устанавливает ссылку? И как мне заставить его просто использовать расположение пакетов? (Когда он использует папку вывода Debug, эти ссылки терпят неудачу, если вы компилируете для "Release".)
Отмеченное замечание:. Я должен признать, что я нахожу NuGet классной идеей, но не готов ни к чему, кроме простых ситуаций. (Я подумываю о том, чтобы вернуться к созданию папки lib со всеми моими DLL в ней.)
Я не могу не задаться вопросом, не хватает ли я чего-то, потому что NuGet имеет такое широкое распространение. Должен быть какой-то способ сделать эту работу...