我可能在这里完全走错了路,我愿意接受建议。我有一个包含单个汇编二进制文件的zip文件,我正在动态下载到我的silverlight应用程序。
理想情况下,我不想在我的解决方案中包含额外的zip解压缩库,因此我希望使用与提取xap文件内容相同的逻辑。问题是:xap文件有AppManifest.xaml
我可以查看以获取内容和每个文件的Uri。
任何人都可以建议使用StreamResourceInfo获取存储在zip文件中的唯一文件的Uri,或者任何人都可以提出更好的方法吗?
这是我决定Uri的逻辑。
public static void Load(string name, Action callback)
{
var webclient = new WebClient();
webclient.OpenReadCompleted += (o, e) =>
{
try
{
StreamResourceInfo zipInfo = new StreamResourceInfo(
e.Result, "application/zip");
string dllName = ** Something **
StreamResourceInfo assemblyInfo =
Application.GetResourceStream(
zipInfo,
new Uri(dllName, UriKind.Relative)
);
//yada yada
}
catch
{
}
finally
{
callback();
}
};
var uri = new Uri(Application.Current.Host.Source, name);
webclient.OpenReadAsync(uri);
}
答案 0 :(得分:0)
这看起来非常类似于我正在尝试的动态下载...我还没有按照我的具体要求到达任何地方,但可能偶然发现了你的答案。
当然这是下载的一个特定用法,你不需要全部,但它应该有帮助!