2009-07-27 62 views
3

我有一個ASP.NET Web應用程序,它有3個項目來處理應用程序的3個不同層(UI,BL和數據訪問)。 UI項目的預編譯目錄將在解決方案中創建,並且文件將在那裏可用。此文件夾將包含一個BIN目錄,其中包含所需的DLL(DataAccessLayer項目的業務層項目的DLL和DLL)。這工作正常。無需我想使用相同的BL和DataAcess圖層來運行多個用戶界面(網站)。我想要網站叫做websiteA,WebSiteB,MyWEbSite1,ShyjusWeb等....我想爲它們中的每一個創建虛擬目錄。所以我創建了一個網站,並在那之下爲上述網站創建了虛擬目錄。我把index.asp(我的解決方案中的UI項目的)映射到一個虛擬目錄的文件夾中,當試圖訪問時,我得到如下錯誤ASP.NET部署:無法訪問站點虛擬目錄中的Bin文件夾程序集

Parser Error 
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately. 

Parser Error Message: Could not load the assembly 'App_Web_lls0_qzf'. Make sure that it is compiled before accessing the page. 

Source Error: 


Line 1: <%@ page language="C#" autoeventwireup="true" inherits="index, App_Web_lls0_qzf" %> 
Line 2: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
Line 3: <html xmlns="http://www.w3.org/1999/xhtml"> 


Source File: /websiteA/index.aspx Line: 1 

看起來好像頁面無法從BIN文件夾訪問所需的DLL。有沒有辦法解決這個問題?我正在玩IIS 6.0。我的文件夾層次結構如下所示 根文件夾 - > Bin文件夾,各種UI相關文件&文件夾,現在轉換爲虛擬目錄的文件夾(WebSiteA)。在WebSiteA內部,我有inde.aspx,它與根文件夾中可用的index.aspx相同。

我需要有相同的網站(複製只有一些CSS更改爲每個網站)。如果我從我的根目錄中複製Bin文件夾,並將其粘貼到每個虛擬目錄文件夾以及index.aspx,它的working.But我不想有相同的BIN文件夾爲每個sites.I想只有一個BIN,這應該是在根文件夾提前

回答

0

謝謝參考你的BL和DAL項目從創建

+0

如果我這樣做,我需要從孤立文件(Visual Studio IDE)做到這一點如何在IIS上創建虛擬目錄? – Shyju 2009-07-27 10:28:55

+0

你爲什麼想這樣做?我認爲一個網站應該(建立THEN部署),而不是(通過添加IIS虛擬目錄一步建立和部署)。那是你想要做什麼? – 2009-07-27 10:31:50

1

的網站項目,我認爲你已經在糊里糊塗得到自己添加。 您提到的文件(App_Web_lls0_qzf)似乎是第一個指定UI/BL/DAL組合的編譯DLL,我很不幸被您對文件夾結構的描述所困惑。

我不清楚你是否想要同一網站的多個COPIES或每個網站是不同的。

你有沒有嘗試過創建4個網站,並引用了常見的BL和DAL項目?

請記住,您的文件結構和IIS結構不必是相同的,即

  • C:\網站\ WEBSITE1
  • C:\網站\ WEBSITE2
  • C:\網站\ WEBSITE3
  • C:\網站\ website4

和IIS

  • Master網站
  • WEB1

  • WEB2

  • WEB3

  • WEB4

請記住繼承! - 主網站中的DLL和引用將被繼承到您的虛擬目錄中。您也可以考慮爲每個網站創建Web應用程序池。

相關問題