ASP.NET网站的BIN目录和参考

时间:2008-12-18 16:12:48

标签: asp.net reference shared-libraries assemblies web-site-project

想象一下以下解决方案:

  • 网站ABC.com(非网络应用程序)
  • BLL(单独装配中的业务逻辑层)
  • DTO(自己组装中的对象)
  • DAL(数据访问层也在它自己的程序集中)。

    1. BLL引用了DAL。
    2. BLL引用了DTO图层。
    3. 网站项目引用了BLL。

当编译网站项目时,以下DLL将出现在BIN目录中:
BLL.dll
DTO.dll
DAL.dll

当一个人去预览网站时,发生了一个关于没有必要的程序集引用的错误......现在,如果右键单击网站项目,添加引用,并显式添加对缺少的程序集的引用,它将工作细

在我看来,像ASP.NET一样,拉动了在网站中添加/引用的引用程序集的引用程序集。

为什么需要添加对引用引用的显式引用...?对不起,如果我没有正确写这个或者它混淆了。

3 个答案:

答案 0 :(得分:2)

我认为问题可能与使用网站项目有关,与Web应用程序相反。我不记得我的头脑,但是对于网站项目的编译方式有一些时髦,与网络应用程序项目相反。

答案 1 :(得分:2)

以下是关于您的问题Compilation and Deployment的好文章。

它与在运行时编译的“WebSites”有关。希望上面的文章能回答你的问题。

答案 2 :(得分:2)

今天刚刚为我正在进行的项目测试了这个场景。你应该没问题只需在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!