【问题标题】:Publish Web App files to different locations将 Web 应用文件发布到不同的位置
【发布时间】:2013-07-02 06:02:23
【问题描述】:

我开始为 DotNetNuke 开发模块。我遵循了不同的教程(大部分由 Chris Hammond 编写),但有些东西我不喜欢,我正在寻找一种不同的方法。

他建议将带有 IIS 和 SQL Server 的 DotNetNuke 安装放在开发人员 PC 上,并将您的项目放在 into the DesktopModules folder。我不喜欢它,因为我想将我的项目与 DotNetNuke 分开。

有没有办法将构建/发布到不同的位置,如 dll 到 folder x 和所有其他东西到 folder y

【问题讨论】:

    标签: visual-studio-2012 msbuild dotnetnuke msdeploy


    【解决方案1】:

    你可以,但我真的不明白这一点。我知道你从哪里来,因为起初我也觉得这很尴尬,但它确实是在 DNN 平台上开发的最有效方式。我已经设置好了,所以我的所有模块都在同一个解决方案中,并从根 DNN 文件夹的源中分支。我们不会将 DNN 核心保留在源代码中,因此开发人员对此负责,尽管这可能会在某些时候发生变化以保持版本控制的一致性。

    通过将项目保留在其安装位置,您可以像开发正在构建的任何其他 Web 应用程序一样开发模块。如果您对标记进行更改,您只需保存文件并刷新页面。如果您更改代码中的某些内容,只需构建并刷新即可。

    如果你真的必须将它们分开,你绝对可以这样做(我能看到的唯一好处是,如果你卸载一个模块并不小心点击了删除文件的复选框 - 它会发生 - 你不会不得不担心)。在所需位置创建项目,将输出路径更改为 DNN bin 文件夹,并创建构建后事件以复制所有 .js、.ascx 和 .css 文件(以及您可能需要的任何其他文件 - 图像、HTML文件、XML 文件等)复制到 DesktopModules 文件夹中的相应文件夹。请记住,每次进行任何更改以测试它们时都必须构建项目,并且每次添加新类型的资源、更改/添加目录等时都必须编写/更改构建后事件。

    或者您可以构建一个安装包并在每次更改样式表中的一些填充时卸载/重新安装模块......但我会坚持将项目保留在 DesktopModules 文件夹中。

    【讨论】:

    • 对所有点都是正确的。这是可能的,您可以设置构建事件来执行此操作,但我的教程遵循非常具体的路径来说明在何处以及如何进行 DNN 模块开发是有原因的。
    • 我有一个开发者文件夹,我把所有的东西都放在那里,我遇到的问题是在 iis 文件夹中创建了整个东西,在我搬家后我可以爱上它并使用它。谢谢
    【解决方案2】:

    当然可以。 在任何地方设置您的解决方案和模块项目,构建项目并将适当的部分(例如 *.ascx、*.ascx.resx、*.dnn 文件)复制回您的网站文件夹 -

    网站/DesktopModules/Your_module_name

    将模块 dll 复制到网站的 bin 中即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      • 2018-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多