2011-08-04 49 views
0

我的老闆要求我設置DotNetNuke's Survey Module並對客戶端進行一些自定義的更改。但是我只是讓基礎代碼正常運行而遇到麻煩!從源代碼創建DNN調查模塊時出現問題

這是我到目前爲止已經完成:

  1. http://dnnsurvey.codeplex.com/releases/view/65186
  2. 下載在源&安裝文件夾中創建一個新的VB Web應用程序項目
  3. 掏出所有的默認頁面
  4. 將調查源代碼複製到VB Web應用程序項目中正好相同結構
  5. 創建了一個批處理腳本,用於創建與DNN的安裝文件夾相同的安裝文件夾(通過運行文件夾diff進行雙重檢查,並且所有文件/文件夾都相同)
  6. 使用7-zip壓縮安裝文件夾

源代碼完美編譯。但是,即使在文件/文件夾是相同的,DNN的壓縮包將正常工作,在我的DNN的網站,和我自己的壓縮包將失敗,這個著名的錯誤消息:

Error: Survey is currently unavailable. DotNetNuke.Services.Exceptions.ModuleLoadException: Could not load type 'DotNetNuke.Modules.Survey.survey'. ---> System.Web.HttpParseException: Could not load type 'DotNetNuke.Modules.Survey.survey'. ---> System.Web.HttpParseException: Could not load type 'DotNetNuke.Modules.Survey.survey'. ---> System.Web.HttpException: Could not load type 'DotNetNuke.Modules.Survey.survey'. at System.Web.UI.TemplateParser.GetType(String typeName, Boolean ignoreCase, Boolean throwOnError) at System.Web.UI.TemplateParser.ProcessInheritsAttribute(String baseTypeName, String codeFileBaseTypeName, String src, Assembly assembly) at System.Web.UI.TemplateParser.PostProcessMainDirectiveAttributes(IDictionary parseData) --- End of inner exception stack trace --- at System.Web.UI.TemplateParser.ProcessException(Exception ex) at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) --- End of inner exception stack trace --- at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath) at System.Web.UI.TemplateParser.ParseInternal() at System.Web.UI.TemplateParser.Parse() at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType() at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider) at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath) at DotNetNuke.UI.ControlUtilities.LoadControl[T](TemplateControl containerControl, String ControlSrc) at DotNetNuke.UI.Modules.ModuleHost.LoadModuleControl() --- End of inner exception stack trace ---

我已經問這對DNN論壇,但他們沒有太多的話要說:(所以,我想我會嘗試StackOverflow以及。

有沒有人有任何想法可能是什麼問題?非常預先感謝!

回答

0

最後我解決這個一個我自己。這是我所採取的步驟:

  1. 去掉了所有命名空間DotNetNuke.Modules.Survey declaractions
  2. 刪除了ASCX,ASCX。勘察,設置, 和EditSurvey
  3. 創建新的,空的那些名字VB和設計師文件(但使用「調查」,而不是 「調查」的)
  4. 複製/粘貼的ASCX代碼到每個ASCX文件(和改變 DotNetNuke.Modules.survey到DotNetNuke.Modules.Survey)
  5. 了,一個構建
  6. 複製/粘貼的ascx.vb碼到每個ascx.vb文件(併除去 這些文件中的命名空間聲明)
  7. 做了一個構建,這次是100%成功

奇怪的方法來解決問題,但它的工作。 :3

0

如果你想正確創建軟件包,你必須首先安裝你的dnn實例中的模塊,一旦你完成了這個任務, d直到第4步的正確工作。第4步後,我一般不如下:

  • 轉到項目屬性,並指出bin目錄路徑母公司DNN安裝的bin目錄
  • 添加dotentnuke.dll和微軟的數據參考acecss應用博客dll的
  • 重建項目

一旦您可以正確編譯應用程序,您就可以自定義它。

總是使用dnn的模塊創建嚮導來創建包。它是包裝和交付模塊的更容易和無差錯的方式。

讓我知道如果您需要任何其他幫助

+0

謝謝你的迴應,但我實際上以不同的方式解決了這個問題......即將發佈。 –