Насколько я знаю, лучший способ упаковать кодовую базу проекта службы Windows .NET Framework - это использовать MSI (установщик), поскольку он вообще не является частью какого-либо веб-развертывания.Кроме того, шаблон проекта .NET Framework Windows Service не зависит от языка, поскольку он использует .NET Framework, это означает, что не только поддерживает как VB.NET, так и C # , поэтому он не связан с VB / C #, вы также можетесоздать службу Windows, используя Managed C ++.
Чтобы создать развертывание MSI для проекта службы Windows, вы можете использовать расширения.
В Visual Studio 2017 вы можете использовать расширение, проект установки Visual Studio 2017: https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2017InstallerProjects
Или вы можете использовать расширение установщика WiX с открытым исходным кодом (также основанное на MSI) для VS 2017: https://marketplace.visualstudio.com/items?itemName=RobMensching.WixToolsetVisualStudio2017Extension
Если вы используете .NET Core 3.0, вы можете использовать ASP.NET Coreшаблон для создания рабочего процесса поверх платформы ASP.NET Core 3.0 и развертывания в качестве службы Windows.К сожалению, веб-интерфейс публикации и пользовательский интерфейс пока недоступны, и этот шаблон поддерживает только C #.