无法选择 .NET Core 作为 Service Fabric 应用程序的框架

Posted

技术标签:

【中文标题】无法选择 .NET Core 作为 Service Fabric 应用程序的框架【英文标题】:Can't select .NET Core as framework for Service Fabric Application 【发布时间】:2020-05-30 00:54:56 【问题描述】:

当我在 Visual Studio 2019 中创建新的 Service Fabric 应用程序(即包含 .sfproj 文件的项目,而不是单个服务)时,我无法选择 .NET Core 作为项目的框架。我只能在不同版本的 .NET Framework 之间进行选择。这是预期的还是与我的设置有关?我已将服务结构解决方案中的所有其他项目迁移到 .NET Core,但我无法迁移 .sfproj 项目。虽然不是一个大问题,但完全摆脱 .NET Framework 会很好。

重现步骤:文件 > 新建 > 项目 > 搜索并选择“Service Fabric Application”> 下一步

【问题讨论】:

您有 .net 核心作为其他模板的选项吗? @JᴀʏMᴇᴇ 是的,例如,我可以使用 .NET Core 创建一个ASP.NET Core Web Application 我刚在我的机器上试过。选择最新的 .Net 版本,然后按“创建”。在下一个屏幕上,您可以选择“核心”选项。抱歉,我无法提供解释或确认这是否是正确的方法。 @JᴀʏMᴇᴇ 我认为这就是它要求您创建 Service Fabric 服务的地方,因此它不会影响包含 .sfproj 的项目 @ShamPooSham 你应该确认 JayMee 的评论作为答案并投票 【参考方案1】:

正如 JayMee 在 cmets 中指出的那样,第一个选择是针对结构 应用程序,随后的选择是针对结构 服务。它们分别使用sfprojcsproj 文件在您的解决方案中创建两个项目。我为我的应用选择了 .NET Framework 4.8,为我的服务选择了 .NET Core 3.1。

请注意,即使它被称为“服务”,它也是一个应用程序,带有Program.cs,因此netcoreapp3.1 而不是netstandard 之类的库(这让我感到惊讶)。

另请注意,当前(VS 16.11.2)它创建的应用程序项目sfproj 文件是旧的框架风格的项目文件,而不是新的 SDK 风格的项目文件。

【讨论】:

我想我已经在我的问题中明确表示我希望 SF 应用程序,而不是 SF 服务,使用 .NET Core。我已经将 SF 服务迁移到 .NET Core

以上是关于无法选择 .NET Core 作为 Service Fabric 应用程序的框架的主要内容,如果未能解决你的问题,请参考以下文章

.net Core 6 - 尝试激活时无法解析服务类型

从 .Net Core Stateless Service 调用 .Net 框架 Service Fabric Actor

.NET Core 2.2 无法在 Visual Studio Build Framework 中选择

无法在 ASP.NET Core 1.0 中启用跨域请求 (CORS)

.NET 6 中将 ASP.NET Core 注册成 Windows Service

.net core Windows Service vs Worker 模板