Использовать одну DLL несколькими приложениями? - PullRequest
0 голосов
/ 13 января 2020

У меня есть решение в Visual Studio 2017 с примерно 10 проектами, намеревающимися использовать одну и ту же DLL. Кажется, проще всего сослаться на dll для меня, добавив его в «Ссылки» каждого из 10 проектов. Примеры - это файлы .exe, расположенные в разных папках. Все они должны иметь доступ к одной и той же DLL в одной папке с именем ../DLL. К сожалению, файлы .exe запускаются только в том случае, если DLL находится в том же каталоге. Я обнаружил множество потоков, касающихся этой топики c, но, похоже, нет простого выхода, как просто изменить тип свойства пути или расширить диапазон поиска до путей среды или что-то в этом роде ...

Ответы [ 2 ]

0 голосов
/ 14 января 2020

Я хотел бы предложить два решения Первое заключается в том, что вы можете поместить указанную dll в папку lib\dllreferenced и передать ее в систему контроля версий, в которой хранятся все проекты. Затем вы можете ссылаться на эту dll из любого проекта в хранилище, и dll будет скопирована в bin\Debug или bin\Release для каждого проекта.

Чтобы получить новую версию dll для использования в решении, просто поместите новую версию dll в папку lib\dllreferenced, и все ваши проекты получат эту обновленную dll.

Однако хранение dll в управление исходным кодом - не лучший подход, поэтому вы можете попробовать другой один: создать пакет nuget , содержащий библиотеки DLL. Тогда вы можете легко управлять версией пакета, используя стандартную версию пакета NuGet. Вы можете поместить ссылку на этот пакет в любой проект в любом решении, и оно будет автоматически разрешено VS во время сборки.

Чтобы доставить пакет на компьютеры, компилирующие исходный код, вам потребуется использовать определенный репозиторий для хранения пакет Nuget. Это может быть сервер nuget (например, http://nuget.org) или общая папка в вашей организации. Вот как вы можете создать nuget для неуправляемых dll .

0 голосов
/ 13 января 2020

Насколько я знаю, вам нужно , чтобы сообщить каждому проекту, на какой .dll ссылаться и где его найти. Так что нет, я не думаю, что есть другой способ, кроме как просто добавить его в ссылки. Опять же, добавление 10 ссылок стоит вам 3 минуты?

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