Как устранить лишние копии сборок? - PullRequest
1 голос
/ 03 мая 2019

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

В настоящее время для каждого нового приложения, которое я создаю, я копирую ВСЕ библиотеки - включая мою собственную базовую библиотеку - в отдельные исполняемые папки в нашей сети. Это работает для нашей среды, потому что эти приложения предназначены только для внутреннего использования.

Однако для простоты я бы хотел, чтобы все сторонние библиотеки были доступны из центрального репозитория. Я не так обеспокоен своей основной библиотекой, но с количеством сторонних библиотек, которые я использую, это может немного сбить с толку - особенно если одна из этих библиотек устарела в исполняемой папке конкретного приложения.

Есть ли "лучшая практика" для ситуаций такого типа? Я взглянул на некоторую информацию, касающуюся GAC, но я не уверен на 100%, как бы заставить его работать в этом сценарии. Любые советы или предложения будут с благодарностью.

1 Ответ

1 голос
/ 03 мая 2019

Одним из решений будет регистрация библиотек DLL на хост-машине , чтобы они больше не присутствовали в файловой системе.

Вы также можете объединять сборки , чтобы уменьшить общее количество копий, которые вам нужно скопировать.

Либо может быть немного неудобно, я обычно просто копирую DLLкак вы упомянули.Наличие их в файловой системе значительно упрощает их замену при обновлении.Хотелось бы услышать другие решения ...

...