在Blend 4中进行设计时,我的代码出现异常。
我已将问题缩小到加载特定库。其他库可以很好地加载,只是这个库失败了。所以,对于这段代码:
var a = Assembly.Load("lib1");
var b = Assembly.Load("lib2");
第二行将抛出异常:无法加载文件或程序集“lib2”或其依赖项之一。系统找不到指定的文件。
如果在Blend之外运行相同的代码,则不会抛出。两个程序集在项目中的引用方式相同,都标记为Copy Local。
有关如何解决此问题的任何建议吗?
答案 0 :(得分:2)
在设计时,Blend会将程序集复制到输出文件夹以外的临时文件夹中,因此事情的行为可能与正常运行程序时的行为不同。 Blend还需要“Any CPU”配置设计时间,所以如果你正常运行“x86”,你可以得到不同的结果。
但Blend本身就像其他任何托管程序一样,为了详细诊断问题,你可以破解Fusion Log Viewer来查看程序集绑定错误,试图找出问题所在。据推测,库本身应该是它应该存在的位置(在Blend的临时文件夹中),但是没有找到它的间接依赖性之一。通过使用具有足够详细信息的日志查看器,您应该能够看到导致问题的特定绑定失败。
这是一个链接: