ClickOnce 会被移植到 .NET Core 3 或 .NET 5 以及 WinForms 吗?
Will ClickOnce be ported to .NET Core 3 or .NET 5 as well as WinForms?
既然 Winforms 正在移植到 .NET Core 3,那么将使用什么技术来部署这些应用程序? ClickOnce也会被移植吗?
ClickOnce 使用的许多属性目前都存储在 .csproj 文件中,但这些项目文件在 .NET Framework 和 .NET Core 之间发生了显着变化,因此可能需要更改 Microsoft 的 ClickOnce 代码才能使其正常工作?
微软有没有官方的说法,我在文档中找不到任何内容?
当前状态
看来 ClickOnce 不会 移植到 .NET core 3,但是 会 .
与 .NET Core 3 相关的原始答案
Microsoft 的 Scott Hunter 对此 in the comments of the .NET Core is the Future of .NET 博客 post 发表了评论。他被问到:
What about ClickOnce? Will that be a supported distribution system for
.NET 5 desktop applications?
他给出了回应:
We are going to recommend MSIX for installation and support for MSIX
will be added for Windows 7 so it should work on all the platforms you
that .NET Core runs on.
有关 MSIX 的更多详细信息,请参阅 Microsoft's MSIX documentation and in it's GitHub repo。
其他安装框架也存在,例如Squirrel。
没有提及任何关于 .net core 3 winforms 与 Clickonce 一起工作的内容。上面提供的答案有一个 link,其中 Scott Hunter 重定向到 Microsoft 的 MSIX 技术。根据我的阅读,在不使用 Microsoft 商店的情况下部署到最终用户的唯一方法是 "sideload" 你的应用程序,这似乎涉及许多步骤,即使你签署了包,用户似乎也有首先启用侧载。不是我对用户友好的想法。
正如前面的回答所述,Microsoft 不会继续支持 Clickonce 但他们提供了 msix 作为替代。您可以使用 msix 包在组织内部部署 .NET Core 应用程序。我成功地将它用作 Clickonce 的替代品。
您可以查看我的 post 解释如何为 .NET Core 项目创建 msix 包。您甚至可以针对 Windows 7 SP1 及更高版本。
编辑:Microsoft 将继续支持 .NET 5 中的 ClickOnce。
所有其他答案都回答了 .NET Core 3 的问题,但是 .NET 5 正在改变。Microsoft 提供对 ClickOnce 的支持,如本 GitHub 问题(2020 年 7 月 20 日):https://github.com/dotnet/deployment-tools/issues/9
这不是完全支持(ApplicationDeployment
class 将不可用)但这是一个开始。
看起来它将在 RC2 中可用 - https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-8/
更新状态:
Microsoft 宣布推出 .NET 5.0,
一些新发布的功能还包括 ClickOnce:
"It’s now supported for .NET Core 3.1 and .NET 5.0 Windows apps."
你可以看看Here
既然 Winforms 正在移植到 .NET Core 3,那么将使用什么技术来部署这些应用程序? ClickOnce也会被移植吗?
ClickOnce 使用的许多属性目前都存储在 .csproj 文件中,但这些项目文件在 .NET Framework 和 .NET Core 之间发生了显着变化,因此可能需要更改 Microsoft 的 ClickOnce 代码才能使其正常工作?
微软有没有官方的说法,我在文档中找不到任何内容?
当前状态
看来 ClickOnce 不会 移植到 .NET core 3,但是 会
与 .NET Core 3 相关的原始答案
Microsoft 的 Scott Hunter 对此 in the comments of the .NET Core is the Future of .NET 博客 post 发表了评论。他被问到:
What about ClickOnce? Will that be a supported distribution system for .NET 5 desktop applications?
他给出了回应:
We are going to recommend MSIX for installation and support for MSIX will be added for Windows 7 so it should work on all the platforms you that .NET Core runs on.
有关 MSIX 的更多详细信息,请参阅 Microsoft's MSIX documentation and in it's GitHub repo。
其他安装框架也存在,例如Squirrel。
没有提及任何关于 .net core 3 winforms 与 Clickonce 一起工作的内容。上面提供的答案有一个 link,其中 Scott Hunter 重定向到 Microsoft 的 MSIX 技术。根据我的阅读,在不使用 Microsoft 商店的情况下部署到最终用户的唯一方法是 "sideload" 你的应用程序,这似乎涉及许多步骤,即使你签署了包,用户似乎也有首先启用侧载。不是我对用户友好的想法。
正如前面的回答所述,Microsoft 不会继续支持 Clickonce 但他们提供了 msix 作为替代。您可以使用 msix 包在组织内部部署 .NET Core 应用程序。我成功地将它用作 Clickonce 的替代品。
您可以查看我的 post 解释如何为 .NET Core 项目创建 msix 包。您甚至可以针对 Windows 7 SP1 及更高版本。
编辑:Microsoft 将继续支持 .NET 5 中的 ClickOnce。
所有其他答案都回答了 .NET Core 3 的问题,但是 .NET 5 正在改变。Microsoft 提供对 ClickOnce 的支持,如本 GitHub 问题(2020 年 7 月 20 日):https://github.com/dotnet/deployment-tools/issues/9
这不是完全支持(ApplicationDeployment
class 将不可用)但这是一个开始。
看起来它将在 RC2 中可用 - https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-8/
更新状态:
Microsoft 宣布推出 .NET 5.0,
一些新发布的功能还包括 ClickOnce:
"It’s now supported for .NET Core 3.1 and .NET 5.0 Windows apps."
你可以看看Here