应用程序无法在其他计算机上运行

时间:2014-03-11 08:31:21

标签: c#

我的第一个问题来自于无法使clickOnce工作。它没有立即失败,没有任何消息或两个消息框 - 一个表示[程序名称]已经停止工作,一个询问我是否想要发送更多信息,同时提供更多看似毫无意义的信息。 可能有一个线索,这甚至不能在我的电脑上工作。 然后我决定使用调试文件夹.exe作为兼职解决方案。这在从我的计算机运行时有效,但不能从其他人运行,包括计算机我开发的程序的旧版本(尽管自那以后添加了许多新库)。它失败并出现来自cickOnce的相同错误消息。

我使用WinDbg来查看我的PC和旧的开发PC之间有什么不同。 我注意到的唯一区别是工作PC有这个:

ModLoad: 000007fe`fbaf0000 000007fe`fbb06000   C:\Windows\system32\netapi32.DLL

ModLoad: 000007fe`fbae0000 000007fe`fbaec000   C:\Windows\system32\netutils.dll 

ModLoad: 000007fe`fc180000 000007fe`fc1a3000   C:\Windows\system32\srvcli.dll 

ModLoad: 000007fe`fbac0000 000007fe`fbad5000   C:\Windows\system32\wkscli.dll two windows

虽然破碎的PC有这个:

ModLoad: 000007fe`f7f40000 000007fe`f7f5e000   C:\Windows\system32\LMIRfsClientNP.dll

我不明白为什么他们有所不同或者这是否很重要?

我也使用了Dependency walker。从这里我看到有不同的CPU设置问题。除了exe之外的所有内容都是X64所以我通过配置管理器添加了一个新的x64选项,并设置exe项目使用那个摆脱依赖walker中的通知但没有解决我的问题。

我也试过发布版但没有运气。

有没有人有任何解决方案或建议,我怎么能找到更多可能导致这种情况的原因?

1 个答案:

答案 0 :(得分:1)

检查以确保目标计算机具有与您正在编译的.NET版本相同的版本。另外,如果它在32位系统上运行,请确保您没有为64位编译。最后,确保您包含所有必需的库。只是通过查看这些错误,显然存在某些问题,要么缺少依赖项,要么可能是权限?希望您没有遇到dependency hell的案例。

相关问题