【问题标题】:How to deploy a VB.NET solution with multiple projects如何部署具有多个项目的 VB.NET 解决方案
【发布时间】:2017-08-09 12:18:17
【问题描述】:

我在 Visual Studio 2012 中工作,经常制作 VB.NET 应用程序,但我制作的应用程序通常规模较小,解决方案中只有一个项目。所以我只是将这些打包成一次单击部署并发布出来。但最近我开始研究一个包含 50 多个不同项目(各种自定义控件/dll、Windows 窗体、数据模型等)的解决方案。每个项目都指向其他项目的不同组件,因此可以引用它们。

所以我的问题是,为用户推出一个包以运行具有这么多项目的应用程序的正确程序是什么?有一个主要的启动项目首先运行,所以我是否只需部署该项目并将所有内容打包在其中?如何确保正在部署所有自定义 dll?我也可能制作一个 MSI 将有助于封装所有需要安装的组件?我试过研究这个主题,但没有找到太多关于它的信息。

【问题讨论】:

  • 用户实际要执行什么?它只是一个引用其他类库的应用程序吗?当您发布应用程序时,将包含这些类库的输出。当您尝试像往常一样发布应用程序时会发生什么?
  • 就像我说的,有一个主要项目首先运行。这个项目只是一个windows窗体。但是从这个窗体中,可以打开其他也是windows窗体的项目。例如:我们有具有 form1 的 project1 和具有 form2 的 project2。 project1 还具有对 dll_1 的引用,而 project2 具有对 dll_2 的引用。当单击 form1 上的按钮时,会打开 project2 中的 form2。所以我可以发布 project1 并且它具有对 project2 和 dll_1 的正确引用。但我也需要引用 dll_2 因为 project2 指向它。所以仅仅发布 project1 似乎是不对的。
  • 这些项目是独立的应用程序吗?主应用程序如何运行它们?
  • 这些联系变得更深了,因为有超过 50 个项目是各种 Windows 窗体和自定义 dll
  • 它引用了其他项目,然后通过类引用打开它们的表单

标签: .net vb.net visual-studio-2012 publish


【解决方案1】:

只有一个应用程序可以是“启动项目”。您应该能够选择哪一个是 ClickOnce 应用程序清单的启动项目。如果您想拥有多个不同的可执行文件,请制作不同的清单。

一种选择是创建一个项目,将其他项目集成到某种启动器中。但从根本上说,ClickOnce 应用程序清单必须导致 single 可执行文件。该可执行文件可能具有一个或多个引用库 或将在部署过程中自动包含的其他项目。

【讨论】:

    猜你喜欢
    • 2015-07-30
    • 2021-11-10
    • 2018-11-11
    • 2015-08-04
    • 1970-01-01
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多