首页 > 解决方案 > 什么是适当的方式/如何在 Visual Studio 2017/2019 中打包 Visual Basic Windows 服务项目?

问题描述

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

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

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

标签: .netvb.netvisual-studio-2017packagevisual-studio-2019

解决方案


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

要创建 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#。


推荐阅读