我有一个用 VB.NET 编写的有点旧的 .NET 4.7 Windows 服务。
我想将其升级到 .NET Core 8.0,但升级向导似乎不想处理大量工作如果 .NET Core 支持 VB.NET Windows 服务,我找不到任何真正的内容....
我可以找到大量创建控制台应用程序等的 C# 示例,但没有找到 VB.NET 的任何内容,当我创建了一个新项目,我只看到一个使用 C# 语言的服务项目。
所以在我放弃之前,我想我至少会问...我想做的事情可能吗?我可以使用 VB.NET 在 .NET Core 8 上创建 Windows 服务吗?
有任何示例可供我查看以了解如何操作吗?
一如既往.. 谢谢!
很遗憾,不能使用 VB.NET 在 .NET Core 或 .NET 上创建 Windows 服务。
.NET Core (.NET 5 及更高版本) 不支持使用 VB.NET 创建 Windows 服务项目。虽然 .NET Core 引入了对 VB.NET 的支持,但这仅限于控制台应用程序、类库和一些其他项目类型。Windows 服务项目类型仅限于 C#。
可以考虑以下选项:
-
使用 C# 移植的服务: 这是最直接的选项,但需要将 VB.NET 代码转换为 C#。可以使用代码转换器来自动化大部分工作,但可能需要手动修复一些问题。
-
使用 .NET Framework 继续开发的服务: 如果的服务运行良好且没有迫切需要升级到 .NET 的理由,则可以继续使用 .NET Framework。
-
探索使用 worker service 作为替代方案: Worker service 是一种在 .NET 中创建长时间运行后台进程的新方法,可以替代 Windows 服务。可以使用 VB.NET 创建 worker service,并且它可以在 .NET Core 和 .NET 上运行。
如果决定使用 worker service,以下是一些可以参考的资源:
总而言之,虽然无法使用 VB.NET 在 .NET Core 或 .NET 上创建 Windows 服务,但可以考虑其他选项,例如将的服务移植到 C# 或使用 worker service。
标签:vb.net,.net-core,service,.net-8.0 From: 78771571