2013-10-02 4 views
2

У меня есть проект (.NET 4, но у меня также может быть .NET 4.5), который всегда использует ту же самую DLL, что и я (это мой Data Layer, более или менее).Могу ли я поделиться библиотекой шахт со всеми приложениями?

Каждый сайт - это приложение.

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

Возможно ли это?

Такие, как, если я создаю мой класс MyClass2013, он будет доступен для каждого веб-приложения, когда я загружаю Visual Studio:

MyClass2013 myClass = new MyClass2013() 

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

Думает библиотеке System например: доступно для каждого проекта, я ничего не импортирую!

+2

Установите вашу dll на [Gac] (http://msdn.microsoft.com/en-us/library/dkkx7f79.aspx), но все же вам нужно будет ее вручную. –

+1

Как сказал Шрирам; для общего доступа к одной библиотеке GAC является правильной опцией. Для вашего «его доступного в моем проекте сразу». Вы можете подумать о создании шаблона для визуальной студии на основе выбранного типа проекта и включить ссылку на «gac'ed» библиотеку. –

+0

Зачем пытаться установить его на GAC, что не так с поддержкой собственной библиотеки DLL, внешних по отношению к проектам, и просто ссылаться на соответствующий файл в этой папке из любого проекта? (в основном то же самое, что и GAC без необходимости его установки в GAC) –

ответ

1

С вашего datalayer проекта шахты, если вы его компиляции в папку C сказать:/DLL_Library

Say путь DLL теперь C: /DLL_Library/mine.DLL

Это DLL_Library папка может затем дома любые библиотеки DLL, либо те, которые используются несколькими проектами или один проект (хотя некоторые формы управления было бы полезно)

Скажите ваши проекты находятся в C:/проекты/

в рамках каждого проекта вы просто ссылаться на DLL в C:/DLL_Libra ry/mine.DLL и скопируйте эту библиотеку DLL на любой компьютер, который компилирует ваши другие проекты.

P.S. power tools Visual Studio addon прекрасно обновляет мастер ссылок.

+0

Нет! Он «импортирует его». Поэтому, если внешний вид меняется, мне нужно повторно импортировать его в любые проекты! Это то, чего я хочу избежать ... – markzzz

+0

Проблема, которую вы обнаружите, делает это с помощью GAC, когда вы хотите иметь несколько версий используемой сборки. –

+0

Я полагаю, что для использования веб-сервисов есть аргумент. Поместите его в GAC на каждую рабочую станцию, используйте библиотеку DLL и скопируйте ее в каждый проект при компиляции или используйте один централизованный веб-сервис ... Хм, я знаю, что я бы предпочел. –

Смежные вопросы