【问题标题】:Debugging DotNetNuke Modules调试 DotNetNuke 模块
【发布时间】:2009-03-16 15:07:18
【问题描述】:

DotNetNuke 4.8 模块间通信开发的最佳 VS 解决方案设置是什么?

我目前有一个解决方案,其中包含多个 Web 应用程序项目,用于我的 DotNetNuke 模块 - 每个模块中都有带有控件的页面作为测试工具。这一切都很好,直到我需要模块开始使用 IModuleCommunicator 和 IModuleListener 相互通信 - 但现在我正在进行模块间通信,调试将不再以这种方式进行。

我很好奇其他人如何处理这个问题 - 有没有办法让您的测试页面模拟 Nuke 环境?你在核弹网站上测试吗?我的解决方案是使用 VSS 进行源代码控制,因此我不想将完整的 nuke 网站作为项目添加到我的解决方案中,因为这会迫使我将其添加到源代码控制中——而且我宁愿没有完整的 nuke 网站源代码管理。

我已经能够通过附加到本地 IIS 工作进程进行调试,但这有点痛苦。有没有人对如何减轻调试模块间通信的痛苦有任何建议?

任何建议将不胜感激。

【问题讨论】:

    标签: dotnetnuke dotnetnuke-module dotnetnuke-imc


    【解决方案1】:

    我们倾向于在开发 DotNetNuke 站点中进行测试,通常只是附加到 IIS 工作进程进行调试(只是因为它比使用 F5 重建更快)。

    我认为,一般来说,您使用 DNN 提供的功能越多,您在 DNN 环境之外进行测试的能力就越少。由于 IMC 是一个专门的 DNN 流程,因此在您让 DNN 执行该流程之前,您无法进行完整的测试。

    【讨论】:

      【解决方案2】:

      经过大量的反复试验,这就是我最终得到的结果 - 并且似乎效果很好。

      1. 在模块项目上创建了一个构建后事件,以复制到本地 nuke 站点进行调试。在“属性/构建事件/构建后事件命令行”下找到...复制 $(TargetDir)$(TargetName).* C:\Inetpub\wwwroot\bin* /y
      2. 更改了 Web 设置以默认启动 localhost 网站。在“属性/Web/服务器/使用自定义 Web 服务器”下找到 - 更改为“http://localhost/”
      3. 创建了支持类库项目的构建后事件以将文件复制到本地网络服务器。也可能只是更改了模块项目的构建后事件以包含其他文件。

      一旦这些设置到位,按 F5 运行项目将启动浏览器并自动附加到 IIS 工作进程。

      另外,请记住,如果您在具有 UAC(Vista,win 2008,win 7)的机器上运行此程序,则必须以管理员身份运行 VS,因为复制到 wwwroot 并附加到工作进程需要提升的权限。

      【讨论】:

        猜你喜欢
        • 2011-11-13
        • 2015-11-17
        • 2015-02-17
        • 1970-01-01
        • 2011-01-09
        • 2011-02-17
        • 1970-01-01
        • 2023-04-06
        • 1970-01-01
        相关资源
        最近更新 更多