Нужно ли размещать общую сборку только в GAC? - PullRequest
0 голосов
/ 12 марта 2010

Я хочу поделиться dll между двумя проектами.

Нужно ли помещать dll только в GAC или я могу поместить ее в любую папку?

Ответы [ 3 ]

2 голосов
/ 12 марта 2010

Я настоятельно рекомендую хранить его в папке Bin каждого проекта. Не пытайтесь поделиться им, если это действительно (действительно) необходимо.

Второй лучший вариант - поместить в общую папку (используя относительный путь) и настроить ее в каждом конфигурационном файле Projects ( Путь исследования ). Обратите внимание, что вам всегда придется обновлять 2 проекта одновременно. Если сборка содержит типы, которые используются для связи между двумя проектами, это имеет смысл, но в остальном это ненужное осложнение.

Самый последний вариант - поместить его в GAC

1 голос
/ 06 мая 2011

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

Процесс в Subversion:

  1. поместите общую библиотеку в одно место в вашем исходном хранилище.
  2. В каждом из ваших двух проектов используйте svn: externals для загрузки общей библиотеки.

Это дает вам лучшее из обоих миров:

  • единственное место в управлении исходным кодом для обновления общей библиотеки (например, GAC)
  • гибкость развертывания папок с частными файлами (например, без использования GAC).
1 голос
/ 12 марта 2010

Загрузчик сборки будет искать сборку в нескольких местах, одним из которых является каталог выполнения.

Это означает, что вы можете просто скопировать в несколько каталогов.

См. How the Runtime Locates Assemblies в MSDN.

...