在设计时在 Blend 4 中访问程序集

本文关键字:访问 程序集 Blend | 更新日期: 2023-09-27 17:56:18

我在 Blend 4 中设计时从我的代码中收到异常。

我已经将问题缩小到加载特定的库。 其他库可以正常加载,只是这个失败了。 因此,对于此代码:

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

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

如果相同的代码在 Blend 之外运行,它不会抛出。 这两个程序集在项目中的引用方式相同,并且都标记为"复制本地"。

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

在设计时在 Blend 4 中访问程序集

在设计时,Blend 将程序集复制到输出文件夹以外的临时文件夹,以便其行为可能与正常运行程序时不同。 Blend 还需要设计时的"任何 CPU"配置,因此如果您正常运行"x86",您可能会因此获得不同的结果。

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

这是一个链接:

  • Fuslogvw.exe(程序集绑定日志查看器)