3

次の解決策を想像してみてください。

  • WebサイトABC.com(Webアプリケーションではない)
  • BLL(個別のアセンブリのビジネスロジック層)
  • DTO(独自のアセンブリ内のdtoオブジェクト)
  • DAL(独自のアセンブリ内のデータアクセス層も同様)。

    1. BLLにはDALへの参照があります。
    2. BLLにはDTOレイヤーへの参照があります。
    3. WebサイトプロジェクトはBLLを参照します。

Webサイトプロジェクトをコンパイルすると、次のDLLがBINディレクトリに表示され ます
。BLL.dllDTO.dll
DAL.dll

サイトをプレビューしようとすると、必要なアセンブリ参照がないというエラーが発生します...ここで、Webサイトプロジェクトの[参照の追加]を右クリックし、不足しているアセンブリへの参照を明示的に追加すると、正常に機能します。

ASP.NETは、Webサイトで追加/参照されている参照アセンブリの参照アセンブリをプルしているように見えます。

参照の参照に明示的な参照を追加する必要があるのはなぜですか...?私がこれを正しく表現していないか、混乱している場合は申し訳ありません。

4

3 に答える 3

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>

また、アセンブリは Web サイトのルートにある有名な ./bin フォルダーに保存する必要があります。GL!

于 2009-01-12T12:18:50.873 に答える
2

これは、あなたの質問Compilation and Deploymentに関する良い記事です。

実行時にコンパイルされる「WebSites」と関係があります。上記の記事があなたの質問に答えてくれることを願っています。

于 2008-12-18T21:58:50.710 に答える
2

問題は、Web アプリケーションではなく、Web サイト プロジェクトの使用に関係しているのではないかと思います。頭の中で思い出すことはできませんが、Web アプリケーション プロジェクトとは対照的に、Web サイト プロジェクトのコンパイル方法には奇妙な点があります。

于 2008-12-18T19:38:42.320 に答える