【问题标题】:What is the appropriate way/How to package a Visual Basic Windows Service Project in Visual Studio 2017/2019?什么是适当的方式/如何在 Visual Studio 2017/2019 中打包 Visual Basic Windows 服务项目?
【发布时间】:2019-06-24 01:36:54
【问题描述】:

什么是适当的方式/如何打包 Visual Basic Windows 服务项目?

我有一个 Visual Basic Windows 服务 (.Net Framework) 项目。 Jenkins 使用 msbuild 构建项目。我需要打包编译好的代码(.dlls、.exe等)推送到我们的部署工具中。

Visual Studio 2017/2019 中的 Windows 服务 项目是否有打包选项?类似于 ASP.Net Web 应用程序 项目,可以使用 Publish 创建一个 Web 部署包 进行打包?安装项目不是一个选项,因为我只在构建服务器中使用 BuildTools,而 .vdproj 无法使用 msbuild 进行构建。

【问题讨论】:

    标签: .net vb.net visual-studio-2017 package visual-studio-2019


    【解决方案1】:

    据我所知,打包 .NET Framework Windows 服务项目代码库的最佳方法是使用 MSI(安装程序),因为它根本不是任何 Web 部署的一部分。此外,.NET Framework Windows 服务项目模板与语言无关,只要它使用 .NET Framework,这意味着 不仅支持 VB.NET 和 C#,因此它不与 VB/C# 耦合,您可以还使用托管 C++ 创建 Windows 服务。

    要创建 Windows 服务项目的 MSI 部署,您可以使用扩展。

    在 Visual Studio 2017 上,您可以使用扩展,即 Visual Studio 2017 安装程序项目: https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2017InstallerProjects

    或者您可以为 VS 2017 使用开源 WiX 安装程序扩展(也基于 MSI): https://marketplace.visualstudio.com/items?itemName=RobMensching.WixToolsetVisualStudio2017Extension

    如果您使用的是 .NET Core 3.0,您可以使用 ASP.NET Core 模板在 ASP.NET Core 3.0 框架之上创建工作进程,并部署为 Windows 服务。不幸的是,发布 Web UX 和 UI 尚不可用,此模板仅支持 C#。

    【讨论】:

    • 感谢您的回答@Eriawan。使用您提供的选项,最合适的是尝试使用 WiX,因为不幸的是我们的构建服务器中没有安装 Visual Studio,我们只有 MS Build Tools。我将研究使用 WiX 的教程并尝试一下。
    • 要让 WiX 在您的构建服务器上运行,您只需要 VS 2017 构建工具(不是 VS 2017 的整个版本)和 WiX 安装。下载 VS 2017 构建工具:visualstudio.microsoft.com/thank-you-downloading-visual-studio/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多