是否可以在 C# 中加载存储在包(即 System.IO.Packaging 类型包)中的程序集?
我正在使用 ReflectionLoadFrom 并传递由 PackageUriHelper 形成的 Uri,它看起来是正确的。在运行时,我得到一个 FileLoadException。
编辑:这是加载程序集的代码:
Assembly assembly = Assembly.ReflectionOnlyLoadFrom(mainDllUri.ToString());
下面是构成 URI 的代码:
UriBuilder packageUriBuilder = new UriBuilder();
packageUriBuilder.Path = this.path;
packageUriBuilder.Scheme = "pack";
Uri packageUri = packageUriBuilder.Uri;
Uri partUri = currRelationship.TargetUri;
return PackUriHelper.Create(packageUri, partUri);
我知道您可以使用其他 URI(例如 file://),但我从未见过有人使用 pack URI。