ASP.NET - каталог bin против добавления сборки в web.conf - PullRequest
10 голосов
/ 14 января 2010

Я относительно новичок в программировании на ASP.NET (но не программирую в целом), и я просматривал проект, который был передан мне. В этом проекте есть каталог bin, содержащий множество различных DLL-файлов.

Затем в файле web.conf внутри структуры сборок (в XML) добавляется множество других сборок.

Я выполнил поиск как по SO, так и по Google в целом, и я все еще пытаюсь понять, в чем разница между ними. Один путь "лучше", чем другой? Любые разъяснения, которые могут быть предоставлены, были бы весьма признательны.

Спасибо.

Ответы [ 2 ]

11 голосов
/ 14 января 2010

Существует несколько способов ссылки на сборки (обычно DLL) в приложении ASP.NET:

  1. Добавьте DLL в директорию bin вашего приложения. Это создает неявную ссылку в каждом файле кода и файле ASPX в вашем приложении на эту DLL. Это означает, что код в файле ASPX или в файле CS в App_Code может использовать типы в этой DLL.

  2. Добавьте ссылку на DLL в разделе <assemblies> в файле web.config. См. MSDN для получения подробной информации о синтаксисе. Обычно существует несколько файлов web.config, которые применяются к конкретному веб-приложению. Само приложение может иметь несколько файлов web.config (например, web.config в определенной папке может добавлять свои собственные ссылки). Существует также глобальный web.config (или machine.config), в котором есть ссылки, доступные для всех приложений ASP.NET на компьютере.

  3. Используйте директиву <%@ Assembly Name="" %> в конкретном файле ASPX (или ASCX или MASTER). Подробнее о синтаксисе см. MSDN .

Ссылки в данном файле в приложении ASP.NET представляют собой комбинацию указанных выше элементов.

Причина, по которой вы должны ссылаться на сборки, заключается в том, что файлы ASPX (как и сами файлы CS и VB) в конечном итоге компилируются компилятором C # или VB. Чтобы эти компиляторы знали, какие типы вы хотите использовать, им нужно знать, какие сборки содержат эти типы.

1 голос
/ 14 января 2010

Каталог bin - это копия всех dll, созданных и на которые ссылается ваш проект. Когда веб-приложение выполняется, оно ищет в каталоге bin физические библиотеки DLL, необходимые для выполнения веб-приложения.

...