如果我是建立一個單獨的模組TestModule,然後再將01.00.00.SqlDataProvider(指令碼一)中的內容通過DNN中的Host->Sql->匯入01.00.00.SqlDataProvider(指令碼一)->選中Run as Script->點擊Execute來完成,那麼建立模組TestModule的資料庫表成功,預設的表名為dbo.YourCompany_TestModule。
但是如果我在dnn解決方案中“E:/webroot/dnndemo(http://localhost/dnn)->添加新項->我的模板-> DotNetNuke Dynamic Module”,輸入模組名稱“TestModule”並選擇開發語言後點擊確定,然後再將01.00.00.SqlDataProvider(指令碼二)通過“Host->Sql”匯入則會出現錯誤提示。主要原因是這時候的指令碼中有{objectQualifier}$YourCompany$_$safeprojectname$.CreatedDate這句話。對比指令碼一中的是{objectQualifier}YourCompany_TestModule.CreatedDate。參看網站http://www.dotnetnuke.com/Community/Forums/tabid/795/forumid/160/postid/324197/scope/posts/Default.aspx。我們知道要將$safeprojectname$替換成ProjectName,也就是我們這裡的TestModule,$YourCompany$也要改成YourCompany。這樣在添加指令碼就不會出錯了。
$safeprojectname$是Visual Studio中用於建立DNN模組的關鍵字,假定情況下,在 Visual Studio中通過 File -> New -> Project 建立模組時,$safeprojectname$會自動被模組名代替,但是現在的情況下沒有被自動代替,所以得手動修改。
出錯介面如所示: