建立單獨的解決方案來開發(fā)DNN模塊
Posted on 2005-10-10 11:57 二十四畫生 閱讀(4699) 評論(20) 編輯 收藏 所屬分類: DotNetNuke(DNN) 、DNN模塊開發(fā) 在整個DotNetNuke(以下簡稱DNN)解決方案之下建立和調試DNN模塊項目都比較容易并且還可以隨時“轉到定義”看看DNN框架中類的內容,惟一的缺點就是慢!打開和編譯一次DNN就要花去幾分鐘的時間,調試一次更是需要七、八分鐘,偶然的來上一兩次,就要耗去十幾分鐘的時間。暈,時間就這樣在等待中流逝了。
為DNN模塊建立單獨的解決方案就可節(jié)省大量的時間了。建立單獨的解決方案進行模塊開發(fā)需要解決三個問題:
1、在什么地方建立解決方案有助于邊開發(fā)邊測試?
2、如何對原有dll進行引用,生成的dll又到那個目錄中?
3、怎樣進行調試?
我建立DNN模塊開發(fā)環(huán)境的順序如下:
一、建立模塊項目
1、在DNN程序的DesktopModules目錄下建立DNN模塊項目,項目名稱為模塊名稱。
2、重名命名項目名稱為“公司名.模塊名稱”。如果您的項目名稱為“公司名.模塊名稱”就可以省略這一步。不過我不喜歡模塊所在文件夾的名字為“公司名.模塊名稱”。
3、引用“DNN程序的bin目錄”中DotNetNuke.dll組件。
4、配置項目屬性:
1)、修改程序集名稱為“公司名.Modules.模塊名稱”

2)、導入一些默認命名空間,如果不做這一步就需在單個源代碼文件中用Imports語句導入所使用命名空間(我喜歡單獨導入)。

3)、設置項目輸出路徑為“DNN程序的bin目錄”,這樣可以將編譯所得的dll文件直接復制到運行目錄中,以免每次都要手動復制。

5、創(chuàng)建模塊控件文件ascx,一般都有三個ascx文件:模塊名稱.ascx、Edit模塊名稱.ascx和Settings.ascx。在類庫類型的項目中不能直接添加“用戶控件”,我是從別的地方復制過來后在修改,希望知道更好的方法。
6、在模塊目錄下建立App_GlobalResources目錄,用來放語言資源文件。
二、建立模塊相關的SqlDataProvider項目(有些模塊不需要訪問數據庫,那么這一步也可以省了)
1、在模塊目錄下的Providers\DataProviders目錄下建立DNN模塊SqlDataProvider項目,項目名稱為“SqlDataProvider”。
2、重名命名項目名稱為“公司名.模塊名稱.SqlDataProvider”。
3、引用“DNN程序的bin目錄”中DotNetNuke.dll組件和Microsoft.ApplicationBlocks.Data.dll組件。
4、引用“DNN程序的bin目錄”中對應模塊組件“公司名.Modules.模塊名稱.dll”。注意:在這里不能直接引用模塊項目而需要引用模塊組件,主要是因為引用模塊項目會引起生成時的一個錯誤。大家可以試試直接引用模塊項目,看看會不會有問題。
5、配置項目屬性:
1)、修改程序集名稱為“公司名.Modules.模塊名稱.SqlDataProvider”
2)、導入一些默認命名空間。
3)、設置項目輸出路徑為“DNN程序的bin目錄”。
仍然存在的問題:因為該項目是引用的模塊組件,所當模塊項目重新編譯后需要重新再次引用。
三、在DNN中設置運行環(huán)境
1、利用host身份登錄,在“主機管理-->模塊定義”中“增加新定義”。
2、保存后在添加相關的控件,比如查看、編輯和設置控件。具體每個控件都用什么樣的key和類型,可以參照其它模塊中的設置。
四、調試程序
有一篇文章有詳細介紹:http://www.cnblogs.com/leeichang/archive/2004/11/16/64418.html
默認情況下,ASP.NET 進程(對于 Windows 2000 和 Windows XP 上的 IIS 5.0 和 IIS 5.1 為 aspnet_wp.exe,對于 Windows Server 2003 上的 IIS 6 為 w3wp.exe)作為 ASPNET 進程運行。因此,要調試它,您必須具有運行 ASP.NET 的計算機的管理員特權。
其實我們還可以利用dnnjungle的模板來建立DNN模塊項目,我試用了一下,它默認生成的代碼和DNN自帶模塊的代碼風格不太一致,我需要改好多地方所以沒有采用,大家有興趣可以試試。歡迎交流試用心得!
dnnjungle的模板相關網址:http://dnnjungle.vmasanas.net/Development/Templates/tabid/28/Default.aspx
更多相關內容>>