2010-05-13 20 views
2

我正在使用MEF与我的Silverlight 4应用程序动态加载xap文件。为了优化这个过程,我从我的xaps中删除了各种程序集,因为我知道它们已经被基础xap加载了。这减少了我动态加载的xaps的大小。我通过将每个程序集引用的“Copy Local”标志设置为“false”来完成此操作。如果在Visual Studio中构建Xap文件内容或生成服务器

这一切似乎工作正常,当我在Visual Studio 2010中生成 - 我的xaps更小。但是,当构建服务器构建相同的项目时,所有排除的引用再次位于xap文件中,因此将xap的大小增加了三倍。

我读过几篇关于类似经历但没有解决方案的博客/文章。非常沮丧 - 任何帮助表示赞赏。

回答

1

Xap文件只是带有不同扩展名的Zip文件。因此,如果您无法弄清楚构建服务器为什么包含不需​​要的程序集,则可以创建一个构建后步骤,将Xap视为Zip并从中删除这些程序集。

+0

嗨丹尼尔 - 谢谢你的建议。我想过这样做,但它似乎是治疗症状,而不是治愈疾病。另外,管理几个xaps的后期构建过程,每个xp都可能随时更改相关的程序集,这似乎是最后的手段。真正的问题是为什么msbuild忽略项目“复制本地”标志。在构建过程中似乎存在一个真正的缺陷。 – 2010-05-14 14:55:33

相关问题