Каталог BIN сайта ASP.NET и ссылки - PullRequest
3 голосов
/ 18 декабря 2008

Представьте себе следующее решение:

  • Сайт ABC.com (не веб-приложение)
  • BLL (уровень бизнес-логики в отдельной сборке)
  • DTO (объекты dto в их собственной сборке)
  • DAL (слой доступа к данным также в его собственной сборке).

    1. У BLL есть ссылка на DAL.
    2. У BLL есть ссылка на слой DTO.
    3. Проект сайта ссылается на BLL.

Когда вы компилируете проект веб-сайта, в каталоге BIN появятся следующие библиотеки DLL:
BLL.dll
DTO.dll
DAL.dll

Когда происходит предварительный просмотр сайта, возникает ошибка, связанная с отсутствием необходимых ссылок на сборки ... Теперь, если щелкнуть правой кнопкой мыши проект веб-сайта, добавить ссылку и явно добавить ссылку на отсутствующие сборки, это будет работать хорошо.

Мне кажется, ASP.NET извлекает ссылочные сборки ссылочной сборки, которые добавляются / ссылаются на веб-сайте.

Почему нужно добавлять явные ссылки на ссылки ссылок ...? Извините, если я не правильно формулирую это или если это сбивает с толку.

Ответы [ 3 ]

2 голосов
/ 19 декабря 2008

Вот хорошая статья по вашему вопросу Компиляция и развертывание .

Это как-то связано с компиляцией "WebSites" во время выполнения. Надеемся, что вышеприведенная статья ответит на ваш вопрос.

2 голосов
/ 12 января 2009

Только что протестировал этот сценарий сегодня для проекта, на котором я работаю. У вас должно получиться просто добавить вашу сборку в Web.config как:

<compilation debug="true">
  <assemblies>
    <clear/>
    <add assembly="mscorlib"/>
    <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
    <add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    <add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

    <add assembly="YourBLLLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
  </assemblies>
</compilation>

Также ваши сборки должны оставаться в известной папке ./bin корня вашего веб-сайта. GL!

2 голосов
/ 18 декабря 2008

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

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