桌面应用程序可以通过Visual Studio调用UWP API桥接桌面吗?
打电话来我有点困惑。该链接第一段的最后一句话指出:桌面应用程序可以通过Visual Studio调用UWP API桥接桌面吗?,uwp,windows-10,desktop-bridge,Uwp,Windows 10,Desktop Bridge,打电话来我有点困惑。该链接第一段的最后一句话指出: a WPF, Windows Forms, or Win32 app cannot call UWP API unless the app is packaged in an MSIX package. 使用VS2019我已将桌面桥接我的WPF应用程序(在VS2019中开发)。此过程创建了一个文件夹(在..\AppPackages文件夹下),其内容如下所示。双击此文件夹中的.appxbundle,我可以在我的Windows 10上成功地侧载该
a WPF, Windows Forms, or Win32 app cannot call UWP API unless the app is packaged in an MSIX package.
使用VS2019
我已将桌面桥接
我的WPF应用程序(在VS2019
中开发)。此过程创建了一个文件夹(在..\AppPackages
文件夹下),其内容如下所示。双击此文件夹中的.appxbundle
,我可以在我的Windows 10
上成功地侧载该应用程序(它还提供了上载到Microsoft Store的选项):
问题:在满足一些其他要求后,此应用程序现在可以调用uwpapi
?如上链接所述,应用程序需要打包在MSIX包中。我在下图中没有看到任何MSIX
文件:
您可以从桌面网桥应用程序调用UWP API,无论它是打包为APPX还是MSIX 因此,如果API需要包标识、WPF和Windows 窗体或Win32应用程序无法调用它,除非该应用程序打包在 MSIX包 我猜打包在MSIX包中的意思是打包在MSIX或APPX包中。他们只是没有提到APPX,因为MSIX是新的格式
但是,请注意,某些UWP API(主要是与UI相关的API)只能从真正的UWP应用程序调用,而不能从打包的Win32或Wpf应用程序调用。是。APPX和MSIX包之间没有重要区别,或者您是否使用桌面网桥、
Windows应用程序打包项目
或手动使用MakeAppx.exe
打包了应用程序
如果目标版本设置为1809/2018年10月更新/构建17763/RS5或更高版本,则程序包文件扩展名为.msix
(或.msixbundle
,如果您正在创建)。否则它就是.appx
APPX和MSIX软件包都已安装,并且可以完全相同的方式使用。自1903年更新以来,这不再是事实。现在,由于XAML岛,所有UWP API都可以使用了。至少微软是这么告诉我们的。测试在我的日程上,但除了阅读和编译样本之外,到目前为止还没有完成。但这似乎是向前迈出的一大步。@MehrzadChehraz感谢您分享您的想法并澄清关于
…MSIX或APPX包…
@Lothar的可能混淆。我认为1903更新
扩展了桌面应用程序的XAML托管API
,至少不一定是桌面应用程序的所有UWP API还没有。