NET C#应用程序在开发PC上运行良好,但不能在生产计算机上运行
因此,它基本上如标题中所述。我已经使用一些外部库在Visual Studio 2013中创建了一个WPF应用程序。NET C#应用程序在开发PC上运行良好,但不能在生产计算机上运行
应用程序完美地运行在我的开发机器上(Windows 8.1 x64 + Visual Studio 2013),但在生产设备(带有Windows 8(不是8.1)的平板电脑)上完全不运行。应用程序是在.NET 4.5下开发的,如果我尝试运行调试或发布版本,则无关紧要。该过程只是挂了一段时间,然后关闭没有任何错误或消息。
如果有人知道该怎么办或如何解决这个问题,我会非常高兴。
在此先感谢:)。
最有可能在启动时发生绑定错误,但您正在测试的生产计算机被配置为以静默方式报告这些错误,并且不显示通知您该进程崩溃的典型对话框。
虽然不要担心,但这个消息可能无法帮助你太多。
你需要做的是用一个可以生成依赖树的工具检查主可执行文件,并找出哪些DLL丢失。很可能这些将是本机二进制文件,不受管理。通常的嫌疑犯是VC运行时,或MFC或ATL库,但也可能有其他人。这就是为什么您需要使用诸如DependencyWalker或RedGate's Reflector之类的工具来查找主可执行文件的所有依赖关系。
在这种情况下,第一件事情就是查看Windows事件日志。当.NET应用程序崩溃时,.NET运行时会在那里记录事件。大多数情况下,这些事件会记录导致崩溃的堆栈跟踪。这会给你提示发生了什么。
这样的日志可以在“应用程序”类别中找到,并且您需要查找的源名称是“.NET运行时”。通常情况下,会有另一个条目的源名称为“应用程序错误”,但这个条目不太可能帮助您。
另一个有用的技术是在程序开始时添加一个Console.WriteLine调用,以查看该行是否可以运行。
根据您使用这些技术所找到的内容,您可能还想使用诸如Dependency Walker或ILSpy之类的工具,正如Mike Dinescu所建议的那样。
是的,我使用了Dependency Walker,它显示我缺少“ieshims.dll”,快速谷歌搜索后,我发现它用于VC++ 2005 redistributable,安装它,但没有效果。要查看事件日志 – drajvver 2014-10-19 19:31:31
好吧,我已检查,这是我的错误:http://pastebin.com/58trXNKC 该应用程序正在使用本地SQL文件(.mdf),我有SQL本地安装,但没有用。 – drajvver 2014-10-19 21:13:53
@drajvver你有一个XamlParseException。这个错误本身并没有太大的帮助,因为它表明在WPF初始化窗口的时候出现了问题。通常,这将表明在窗口的构造函数中发生了错误,但它偶尔也可能是由类型初始值设定项中的错误引起的。 – GoldenCrystal 2014-10-20 21:09:57
这是一个商店应用程序或桌面应用程序? – 2014-10-19 19:32:02
@MingSlogar WPF不适用于商店应用。 – 2014-10-19 19:35:08
@BrianRasmussen我不确定OP是否知道这一点;许多商店应用程序开发人员认为,因为他们使用XAML进行编码,所以它是WPF。如果实际上它是一个商店应用程序,则崩溃可能是由于使用8和8.1之间的不同库引起的。 – 2014-10-19 19:39:34