Проблема при создании модуля опроса DNN из исходного кода - PullRequest
0 голосов
/ 05 августа 2011

Мой начальник попросил меня настроить Модуль опроса DotNetNuke и внести в него некоторые пользовательские изменения для клиента.Но у меня возникают проблемы с тем, чтобы просто запустить чистый код!

Вот что я сделал до сих пор:

  1. Загрузил обе папки с исходными текстами и установками из http://dnnsurvey.codeplex.com/releases/view/65186
  2. Создан новый проект веб-приложения VB
  3. Извлечены все страницы по умолчанию
  4. Скопирован исходный код опроса в проект веб-приложения VB в точно та же структура
  5. Сделал пакетный скрипт, который создает папку установки, идентичную папке установки DNN (перепроверил, запустив на нем папку-diff, и все файлы / папки были идентичны)
  6. Заархивировал мою папку установки, используя 7-zip

Исходный код прекрасно компилируется.Но даже при том, что файлы / папки идентичны, zip-пакет DNN будет работать на моем DNN-сайте должным образом, и мой собственный zip-пакет потерпит неудачу с этим известным сообщением об ошибке:

Ошибка: опрос в настоящее время недоступен.DotNetNuke.Services.Exceptions.ModuleLoadException: не удалось загрузить тип 'DotNetNuke.Modules.Survey.survey'.---> System.Web.HttpParseException: не удалось загрузить тип 'DotNetNuke.Modules.Survey.survey'.---> System.Web.HttpParseException: не удалось загрузить тип 'DotNetNuke.Modules.Survey.survey'.---> System.Web.HttpException: не удалось загрузить тип 'DotNetNuke.Modules.Survey.survey'.в System.Web.UI.TemplateParser.GetType (String typeName, Boolean ignoreCase, Boolean throwOnError) в System.Web.UI.TemplateParser.ProcessInheritsAttribute (String baseTypeName, String codeFileBaseTypeName, String system.c.TemplateParser.PostProcessMainDirectiveAttributes (IDictionary parseData) --- Конец внутренней трассировки стека исключений --- в System.Web.UI.TemplateParser.ProcessException (Exception ex) в System.Web.UI.TemplateParser.ParseStringInternal (текст строки, кодировка fileEncoding)в System.Web.UI.TemplateParser.ParseString (текст строки, VirtualPath virtualPath, кодировка fileEncoding) --- конец трассировки стека внутренних исключений --- в System.Web.UI.TemplateParser.ParseString (текст строки, virtualPath virtualPath, кодировкаfileEncoding) в System.Web.UI.TemplateParser.ParseFile (String PhysicalPath, VirtualPath virtualPath) в System.Web.UI.TemplateParser.ParseInternal () в System.Web.UI.TemplateParser.Parse () в System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType () в System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider (BuildProvider buildProvider) в System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders (). SystemComp.BuildManager.CompileWebFile (VirtualPath virtualPath) по адресу System.Web.Compilation.BuildManager.GetVPathBuildResultInternal (VirtualPath virtualPath, логический noBuild, логический allowCrossApp, логический allowBuildInPathanDefBileNefBellBuileToWeb.RuBoolean allowCrossApp, Boolean allowBuildInPrecompile) в System.Web.UI.TemplateControl.LoadControl (VirtualPath virtualPath) в DotNetNuke.UI.ControlUtilities.LoadControl [T] (TemplateControl containerControl.ontrol.OgnMoMoCoMoCoMoMoMoToMoToMoToM)--- Конец внутренней трассировки стека исключений ---

Я ужеОб этом уже говорили на форумах DNN, но им особо нечего сказать :( Итак, я подумал, что тоже попробую StackOverflow.

Кто-нибудь знает, в чем может быть проблема?Заранее большое спасибо!

Ответы [ 2 ]

0 голосов
/ 15 августа 2011

В итоге я решил это самостоятельно. Вот шаги, которые я предпринял:

  1. Удалено все пространство имен DotNetNuke.Modules.Survey объявлений
  2. Удалил файлы ascx, ascx.vb и конструктор для опроса, Настройки, и EditSurvey
  3. Создал новые, пустые с этими именами (но вместо этого использовал "Survey") "опроса")
  4. Скопировал / вставил код ascx в каждый файл ascx (и изменил DotNetNuke.Modules.Survey для DotNetNuke.Modules.Survey)
  5. Сделал сборку
  6. Скопировал / вставил код ascx.vb в каждый файл ascx.vb (и удалил декларации пространства имен в этих файлах)
  7. Сделал сборку, которая на этот раз была на 100% успешной

Причудливый способ решить проблему, но это сработало. : 3

0 голосов
/ 10 августа 2011

Если вы хотите создать пакет, правильно, вы должны сначала установить модуль, который у вас есть в вашем экземпляре dnn.Как только вы закончите с этим, вы сделали правильную работу до шага 4.После шага 4 я обычно делаю следующее:

  • Перейдите в свойства проекта и укажите путь к каталогу bin для каталога bin родительской установки dnn
  • Добавьте ссылку на dotentnuke.dll и Microsoft data acecssблоги приложения dll
  • Перестройка проекта

Как только вы сможете правильно скомпилировать приложение, вы готовы его настроить.

Всегда используйте мастер создания модуля dnn для созданияпакет.это более простой и безошибочный способ упаковки и доставки модулей.

дайте мне знать, если вам нужна какая-либо другая помощь

...