Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将WPF桌面应用程序转换为本机exe?_C#_.net_Wpf_Native - Fatal编程技术网

C# 如何将WPF桌面应用程序转换为本机exe?

C# 如何将WPF桌面应用程序转换为本机exe?,c#,.net,wpf,native,C#,.net,Wpf,Native,我是C#WPF应用程序开发的初学者。我使用C#、Wpf和Sqlite构建了一个非常小的应用程序。应用程序在我的机器中正常工作 但我想转换成本地二进制。我已经了解了.NET本机。但不知道如何将应用程序转换为本机可执行文件。提前感谢。您必须将整个应用程序重写为使用UWP(通用Windows平台) 我不会强调在.NET上使用.NET本机。 虽然您会看到性能的提高和内存消耗的减少,但我怀疑您是否真的能从当前的工作中获益 不要让操作系统/编译器把坏代码变成好代码。专注于编写快速的好代码,不管它是否是本机代

我是C#WPF应用程序开发的初学者。我使用C#、Wpf和Sqlite构建了一个非常小的应用程序。应用程序在我的机器中正常工作


但我想转换成本地二进制。我已经了解了.NET本机。但不知道如何将应用程序转换为本机可执行文件。提前感谢。

您必须将整个应用程序重写为使用UWP(通用Windows平台)

我不会强调在.NET上使用.NET本机。 虽然您会看到性能的提高和内存消耗的减少,但我怀疑您是否真的能从当前的工作中获益

不要让操作系统/编译器把坏代码变成好代码。专注于编写快速的好代码,不管它是否是本机代码

但我想转换成本地二进制

现在还不清楚“原生”是什么意思,但如果你以.NET内核为目标,你可以发布你的应用程序,因为它可以在任何受支持的Windows机器上运行

自包含应用程序的输出发布文件夹包含该应用程序的所有组件,包括.NET核心库和目标运行时,因此您无需在客户端计算机上预安装这些组件

如果要减少JIT编译时间,还可以使用
PublishReadyToRun
选项:

dotnet publish -c Release -r win-x64 -p:PublishReadyToRun=true

.NET本机工具链仅适用于通用Windows平台(UWP)应用程序。

既然.NET本机尚未发布,为什么要尝试使用它?如果您想创建单个可执行文件,那么在.NET 5中,您可以创建单个文件可执行文件,可以是自包含的(即包括运行时),也可以是非自包含的,或者也许我应该说,以.NET本机形式启动的程序的范围非常窄(仅限UWP预编译),以至于大多数开发人员都忘记了它,由于.NET内核的原因,即使是预编译技术也必须改变