Как изменить местоположение, в которое ссылки dll копируются? - PullRequest
1 голос
/ 17 августа 2010

Я использую некоторые библиотеки, и я добавил ссылку на эту библиотеку DLL, и я установил «Копировать локальный» в true.
но я хочу изменить расположение DLL, чтобы быть подпапкой в ​​папке exe, а не с exe.
как это возможно?
спасибо

Обновление:
я использовал следующее событие после сборки [как рекомендовал Джон Скит]

move /y $(TargetDir)\System.Data.SqlServerCe.dll   $(TargetDir)\Lib\SqlSrvCe\System.Data.SqlServerCe.dll

Ответы [ 3 ]

2 голосов
/ 17 августа 2010

Вам понадобится файл .config для вашего .exe, чтобы изменить путь поиска. Подкаталог не проблема, просто используйте элемент <probing>, его атрибут privatePath является относительным именем папки.

Однако остерегайтесь того, что из среды IDE вы получите небольшую помощь, чтобы поместить DLL в это место. Вам понадобится событие посткомпиляции, которое при необходимости создаст папку, а xcopy - это DLL там. Примерно так:

if not exist "$(TargetDir)mumble" mkdir "$(TargetDir)mumble"
xcopy /d /y "$(TargetDir)something.dll" "$(TargetDir)mumble"
1 голос
/ 17 августа 2010

Я не знаю, возможно ли это в рамках "нормальных" правил сборки, но вы могли бы добавить шаги после сборки, которые в основном перемещали файлы.Это было бы некрасиво, но это должно сработать.

0 голосов
/ 17 августа 2010

Вам это нужно в качестве справки? Или ссылка только для копирования DLL в нужное место?

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

Добавьте dll в папку в проекте и установите для параметра Копировать в каталог вывода http://web11.twitpic.com/img/146848312-ecfdeadf5b322fe755c7a764d6e6dbf0.4c69c2f0-full.png

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...