是否可以将未打包的Windows应用程序SDK(WinUI 3)发布为独立的单个文件



我很确定我有所有正确的标志和根据Microsoft文档设置的所有内容,但是UI dll没有包含在单个文件exe中。

AFAIK,你不能自包含并不意味着一个文件。这意味着所有依赖项都将位于EXE旁边,因此您不需要将运行时安装到目标设备。

尝试使用https://github.com/Fody/Costura/

它非常适合遗留.NET项目。较新的框架有单文件可执行文件,如其文档所示

是-使用此(未打包/自包含(命令行:

dotnet publish -f net6.0-windows10.0.19041.0 -c Release -p:WindowsPackageType=None -p:SelfContained=true -p:WindowsAppSDKSelfContained=true

注意:这需要Windows App SDK 1.1.0或更高版本。

AFAIK没有办法为net6.0 WinUI桌面应用程序生成单个EXE。

Fody不适用于此,虽然PublishSingleFile确实会生成一个exe,但即使使用IncludeNativeLibrariesForSelfExtract,它也不起作用。您将在运行时获得DllNotFoundException异常。截至Windows App SDK 1.4.0,尚未解决此问题。

由于以下原因,此场景当前已中断:https://github.com/microsoft/WindowsAppSDK/issues/2597

显然,在单文件场景中,单文件主机在一个目录中,其他所有内容都提取到另一个目录。

也许从理论上来说,复制所有引用的自定义构建任务会起作用?

最新更新