阅读 msix 包 appxmanifest 版本
Read msix package appxmanifest version
我们有一个仅在内部使用的 .NET Core 应用程序。在从 WPF 切换到 .NET Core 期间,我们从 Click-Once 更改为 MSIX。在我们应用程序的 window caption/title 中,我们还“输出”了当前版本(主要、次要、...)。之前,我们采用了启动项目的版本(称为“视图”)。现在使用MSIX,这个项目已经得到了我们需要的版本号(启动项目参考“view”)。我们现在如何才能阅读正确的版本?
使用Assembly.GetEntryAssembly
或Assembly.GetCallingAssembly
returns版本错误-启动项目的版本。该应用程序不在 Windows 商店中,它将作为一个包进行侧面加载。在部署我们的包时,有什么想法可以得到我们“生产”的“正确”版本吗?
您需要安装 Windows 10 WinRT API 包。从 Nuget 安装包:Microsoft.Windows.SDK.Contracts
URL: https://www.nuget.org/packages/Microsoft.Windows.SDK.Contracts
那么你可以这样做:
var version = Windows.ApplicationModel.Package.Current.Id.Version;
applicationVersion = string.Format("{0}.{1}.{2}.{3}",
version.Major,
version.Minor,
version.Build,
version.Revision);
如果您想调试或运行使用当前可用的包,只需将您的包部署项目设置为启动项目。
其他参考资料:
https://blogs.windows.com/windowsdeveloper/2019/09/30/windows-10-winrt-api-packs-released/
https://docs.microsoft.com/en-us/uwp/api/
https://www.thomasclaudiushuber.com/2019/04/26/calling-windows-10-apis-from-your-wpf-application/
我们有一个仅在内部使用的 .NET Core 应用程序。在从 WPF 切换到 .NET Core 期间,我们从 Click-Once 更改为 MSIX。在我们应用程序的 window caption/title 中,我们还“输出”了当前版本(主要、次要、...)。之前,我们采用了启动项目的版本(称为“视图”)。现在使用MSIX,这个项目已经得到了我们需要的版本号(启动项目参考“view”)。我们现在如何才能阅读正确的版本?
使用Assembly.GetEntryAssembly
或Assembly.GetCallingAssembly
returns版本错误-启动项目的版本。该应用程序不在 Windows 商店中,它将作为一个包进行侧面加载。在部署我们的包时,有什么想法可以得到我们“生产”的“正确”版本吗?
您需要安装 Windows 10 WinRT API 包。从 Nuget 安装包:Microsoft.Windows.SDK.Contracts
URL: https://www.nuget.org/packages/Microsoft.Windows.SDK.Contracts
那么你可以这样做:
var version = Windows.ApplicationModel.Package.Current.Id.Version;
applicationVersion = string.Format("{0}.{1}.{2}.{3}",
version.Major,
version.Minor,
version.Build,
version.Revision);
如果您想调试或运行使用当前可用的包,只需将您的包部署项目设置为启动项目。
其他参考资料:
https://blogs.windows.com/windowsdeveloper/2019/09/30/windows-10-winrt-api-packs-released/
https://docs.microsoft.com/en-us/uwp/api/
https://www.thomasclaudiushuber.com/2019/04/26/calling-windows-10-apis-from-your-wpf-application/