我来找你,因为我很绝望。我用最新的MonoDevelop在C#中开发了一个GTK#应用程序。它是为.NET framework 4.0 / x86构建的,它使用的唯一外部库是官方的Mysql .Net连接器。它意味着在Windows XP下运行。
这是我用这个IDE制作的第一个应用程序。我对结果和开发时间非常满意,但部署真的很头疼。
它在开发机器上完美运行。调试很干净。一切都还好。
然后,由于我找不到有关部署的任何信息,我安装了一个干净的XP来试用它,看看我应该在客户端的机器上安装什么。
我已经安装了SP3,.NET 4.0,并使用构建日志中提到的所有DLL复制了发行包(这使得它在开发机器中的MonoDevelop之外工作)。但我得到一个“应用程序遇到问题,需要关闭”错误,毫无例外,在kernel32.dll中,偏移0012aeb。
我尝试在4.0之前安装.NET 3.5,更新IE(以防万一......),将更多GTK#和Monodevelop DLL复制到exe文件夹,安装Mysql .NET连接器,安装Mono 2.8 ......但没什么。仍然得到那个无法解释的错误。
Google和StackOverflow搜索对我没有帮助。在没有离开这台机器的情况下,我在过去12小时或更长时间内研究并尝试了很多东西。你有什么建议吗?可能导致什么呢?有没有办法调试exe(没有安装VS ...)?有谁知道这种可执行文件的所有依赖项是什么?
答案 0 :(得分:1)
WinDbg可以帮助您解决一些JIT问题...
即使它不直观且需要技巧,值得一试。可能会爆发一些东西。
答案 1 :(得分:0)
如果要在Windows下运行,那么您应该使用Visual C#编译器进行编译。
但是,与您的问题更相关 - 在部署计算机中获取debugger并在其上运行应用程序。这是解决问题的最佳方法,因为我们真的无法猜测它。
答案 2 :(得分:0)
在生产计算机上安装Visual Studio有几种选择,其中一种是Remote Debugging Monitor。它不需要Visual Studio安装。您可以将文件从开发计算机复制到服务器。我把它们放在C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger
下。