Как добавить вспомогательные сборки в проект в Visual Studio

Я работаю над проектом, который ссылается на сборки от третьей компании. У этих сборок есть вспомогательные сборки, которые я копирую с событием после сборки в папку bin.

Есть ли способ включить эти сторонние вспомогательные сборки в проект, чтобы мне не приходилось заботиться о событиях после сборки и обслуживании файлов?

Заранее спасибо.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: поскольку ссылки содержат только ресурсы, они не добавляются как ссылки проекта, на самом деле я просто копирую их в папку //. Поскольку каждая локализованная ссылка имеет одно и то же имя, я мог бы добавить ее только один раз в ссылки проекта.


person Ignacio Soler Garcia    schedule 03.12.2009    source источник


Ответы (3)


Я исследовал связанную проблему и наткнулся на эту ветку. Обратите внимание, что прямая ссылка на вспомогательные сборки (через диалоговое окно «Добавить ссылку») не является способом включения их в ваше приложение. Вместо этого просто убедитесь, что они расположены в иерархии папок, как предложено выше (относительно исходного местоположения двоичного файла, для которого они содержат ресурсы).

Единственный файл, на который вы явно добавляете ссылку, - это сама библиотека. Не забудьте установить для параметра «copy local» значение true в окне свойств ссылки. Затем среда выполнения обязательно извлечет ресурсы из файла, каталог которого соответствует языку системы.

person LOAS    schedule 16.06.2011

В C # IDE это происходит автоматически. Установка Copy Local = True в ссылке на сборку гарантирует, что вспомогательные сборки также будут скопированы. В C ++ IDE это настройка: Framework + References, Категория свойств сборки, «Копировать локальные вспомогательные сборки».

В вашем вопросе недостаточно информации, чтобы сузить круг IDE, который вы используете, или почему это не сработает для вас. Возможно, эта третья сторона делает что-то нестандартное. Позвоните им.

person Hans Passant    schedule 03.12.2009
comment
У меня есть одна DLL для каждого языка, и я могу добавить ссылку только один раз в диалоговом окне справки. Например, у меня есть a.dll и несколько папок с названием /en/a.resources.dll /es/a.resources.dll /it/a.resources.dll - person Ignacio Soler Garcia; 04.12.2009

В ссылках щелкните правой кнопкой мыши и выберите свойства в ссылке на стороннюю сборку.

Убедитесь, что "copy local" истинно.

Если это правда, то он должен скопировать вспомогательные сборки, так как это поведение, которое я испытал в Visual Studio.

person Brett Allen    schedule 03.12.2009
comment
У меня есть одна DLL для каждого языка, и я могу добавить ссылку только один раз в диалоговом окне справки. Например, у меня есть a.dll и несколько папок с названием /en/a.resources.dll /es/a.resources.dll /it/a.resources.dll - person Ignacio Soler Garcia; 04.12.2009