【问题标题】:Click Once Deployment - How to publish an application which has multiple VS projects?单击一次部署 - 如何发布具有多个 VS 项目的应用程序?
【发布时间】:2017-05-25 12:43:33
【问题描述】:

我正在构建一个复杂的 WPF 应用程序。我有多个视觉工作室解决方案。每个解决方案都有一个项目。由于代码保护的原因,我不得不将项目放在单独的解决方案中。

  1. ComponentMain 解决方案(WPF 应用程序)
  2. ComponentA 解决方案(类库)
  3. ComponentB 解决方案(类库)

组件 A 和 B 引用主解决方案的组装。主要解决方案在运行时使用反射加载组件 A 和 B 的程序集。

当我构建每个解决方案时,将触发一个 Xcopy 构建后事件,并将所有 dll 复制到一个名为 GlobalOutput 的文件夹中,我可以通过简单地运行 MainSolution.exe 来运行应用程序。

现在我想使用 ClickOnce 发布应用程序。正如我之前提到的,有多个项目,并且 Dll 是使用反射加载的。

据我所知,由于上述原因,我无法使用点击一次发布向导。可能是我错了。

如何使用 click once 发布我的应用程序? 由于我在 GlobalOutput 目录中拥有所有 dll,有没有办法直接从那里创建 clickkonce 部署?

【问题讨论】:

    标签: c# .net wpf clickonce


    【解决方案1】:

    您可以尝试通过单击一次来指定发布哪些文件。

    对你来说,它会是这样的:

    • 选择其中一个解决方案/项目作为发布项目以配置 Click Once。您需要将其他项目/解决方案中的 dll 标记为先决条件。
      1. 在解决方案资源管理器中选择项目后,在“项目”菜单上单击“属性”。
      2. 单击“发布”选项卡。
      3. 单击“应用程序文件”按钮打开“应用程序文件”对话框。
      4. 在“应用程序文件”对话框中,选择您希望标记为先决条件的应用程序程序集(.dll 文件)。请注意,您的应用程序必须引用应用程序程序集才能显示在列表中。
      5. 在发布状态字段中,从下拉列表中选择先决条件。

    要使来自其他解决方案/项目的文件出现在步骤 3 中的“应用程序文件”对话框中,您可以引用输出 dll,或者将它们添加为解决方案文件并将构建操作设置为内容。

    欲了解更多信息:Specify Which Files Are Published by ClickOnce

    【讨论】:

    • 您的评论说:“请注意,您的应用程序必须引用应用程序程序集才能显示在列表中。”但是我怎样才能包含未引用的 dll?
    • 您可以引用 dll,也可以单击一次转到要发布的项目,添加现有项目,添加现有 dll。验证 dll 项是否已将 Build Action 设置为 content。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    相关资源
    最近更新 更多