C# 检查可选包是否存在
我已经创建了一个UWP应用程序和一个UWP可选包。我使用以下文档完成了所有设置: 一切正常,我可以使用可选包中的代码。但是很明显,如果我删除可选包,我的代码将无法工作。如果没有安装“可选”软件包,我不想让我的应用程序崩溃 检查是否安装了可选软件包的公认方法是什么?我是否只捕获异常?这似乎有点老套C# 检查可选包是否存在,c#,uwp,C#,Uwp,我已经创建了一个UWP应用程序和一个UWP可选包。我使用以下文档完成了所有设置: 一切正常,我可以使用可选包中的代码。但是很明显,如果我删除可选包,我的代码将无法工作。如果没有安装“可选”软件包,我不想让我的应用程序崩溃 检查是否安装了可选软件包的公认方法是什么?我是否只捕获异常?这似乎有点老套 示例:当我引用Class1(在我的可选包中)时,它抛出以下异常: System.Runtime.InteropServices.COMException:'未注册类 (HRESULT的例外:0x800
示例:当我引用
Class1
(在我的可选包中)时,它抛出以下异常:
System.Runtime.InteropServices.COMException:'未注册类
(HRESULT的例外:0x80040154)'
检查是否安装了可选软件包的公认方法是什么
您可以使用PackageCatalog
类安装所有软件包
List<string> optionalPackageList = new List<string>();
foreach (var package in Windows.ApplicationModel.Package.Current.Dependencies)
{
if (package.IsOptional)
{
optionalPackageList.Add(package.Id.FamilyName);
}
}
List optionalPackageList=newlist();
foreach(Windows.ApplicationModel.package.Current.Dependencies中的var包)
{
if(包等可选)
{
可选PackageList.Add(package.Id.FamilyName);
}
}
您可以检查optionalPackageList
是否包含指定的选项包。有关更多信息,请参阅此