C# 应用程序不会在其他机器上运行

C# application won't run on other machines

开发机:windows 7 64 位:运行良好

测试机windows8.1 64位

我的应用程序在 InitializeComponent 方法中崩溃,我不知道为什么。我在测试机上通过 visual studio 运行 exe,但出现 "the method or operation is not implemented" 异常。我试过复制其他 ddl,测试机可能没有用于 exe,但还没有帮助。我从我的构造函数中删除了除 InitializeComponent 之外的所有代码。我试过运行 depends.exe 但我无法理解是什么 dll 导致了它(如果它是一个 dll)。 xaml 中也没有任何静态或动态资源。我已经做了好几天了,任何帮助将不胜感激。这是一些输出:

编辑:它实际上不是一个未实现的异常。我破解了更多代码并将其缩小为互操作类型声明,该声明在将声明从 class 主体移动到 window 加载方法后触发文件未找到异常。

因此,无论出于何种原因,在 InitializeComponent 中抛出了一个丢失的 dll。我的应用程序有一个我们制作的 c++ 库,它使用 visual c++ 2012 dll,应用程序正在寻找它的调试版本,而不是可再发行包中包含的常规版本。我使用的救命工具:

Process Monitor Ref Link

Dependz Ref Link

使用这两个应用程序可以让您准确定位您的应用程序正在寻找的内容。这篇文章很有帮助。