在Blend 4中在设计时访问装配

时间:2011-05-13 21:10:05

标签: c# expression-blend design-time

在Blend 4中进行设计时,我的代码出现异常。

我已将问题缩小到加载特定库。其他库可以很好地加载,只是这个库失败了。所以,对于这段代码:

var a = Assembly.Load("lib1");
var b = Assembly.Load("lib2");

第二行将抛出异常:无法加载文件或程序集“lib2”或其依赖项之一。系统找不到指定的文件。

如果在Blend之外运行相同的代码,则不会抛出。两个程序集在项目中的引用方式相同,都标记为Copy Local。

有关如何解决此问题的任何建议吗?

1 个答案:

答案 0 :(得分:2)

在设计时,Blend会将程序集复制到输出文件夹以外的临时文件夹中,因此事情的行为可能与正常运行程序时的行为不同。 Blend还需要“Any CPU”配置设计时间,所以如果你正常运行“x86”,你可以得到不同的结果。

但Blend本身就像其他任何托管程序一样,为了详细诊断问题,你可以破解Fusion Log Viewer来查看程序集绑定错误,试图找出问题所在。据推测,库本身应该是它应该存在的位置(在Blend的临时文件夹中),但是没有找到它的间接依赖性之一。通过使用具有足够详细信息的日志查看器,您应该能够看到导致问题的特定绑定失败。

这是一个链接: