习惯性伸手党区 【已解决】伸下手,谁对 VS2010 下的 C# 开发熟悉的进来看看 T_T

water · February 12, 2015 · Last by water replied at February 13, 2015 · 1446 hits

最近在学习C#,同时调试一些Appium的封装代码,我使用的是建立一个Console Application来调用我封装好的DLL文件。其中有一个是网上找的dll工具,用来识别图形验证码的Reconizer.dll,这个dll其他人调用的时候没问题,到我这里一调用,就会Console直接闪退,完全来不及看报的是什么错误。请问C#高手们,对于这种情况我该如何去定位Console闪退的原因捏?有没有什么好的方法推荐下T_T

我用Try Catch也不行……STO

Console闪退关闭以后,控制台的日志如下:

'ConsoleApplication4.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
The thread 'vshost.NotifyLoad' (0x1304) has exited with code 0 (0x0).
The thread '<No Name>' (0xf08) has exited with code 0 (0x0).
The thread '<No Name>' (0x1708) has exited with code 0 (0x0).
The thread 'vshost.LoadReference' (0x51c) has exited with code 0 (0x0).
'ConsoleApplication4.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\80374214\Documents\Visual Studio 2010\Projects\ConsoleApplication4\ConsoleApplication4\bin\Debug\ConsoleApplication4.exe', Symbols loaded.
'ConsoleApplication4.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\80374214\Documents\Visual Studio 2010\Projects\ConsoleApplication4\ConsoleApplication4\bin\Debug\WebDriver.dll'
'
ConsoleApplication4.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\80374214\Documents\Visual Studio 2010\Projects\ConsoleApplication4\ConsoleApplication4\bin\Debug\appium-dotnet-driver.dll'
'
ConsoleApplication4.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\80374214\Documents\Visual Studio 2010\Projects\ConsoleApplication4\ConsoleApplication4\bin\Debug\CharReconizer.dll'
'
ConsoleApplication4.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'ConsoleApplication4.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ComponentModel.DataAnnotations\v4.0_4.0.0.0__31bf3856ad364e35\System.ComponentModel.DataAnnotations.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'ConsoleApplication4.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'ConsoleApplication4.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\80374214\Documents\Visual Studio 2010\Projects\ConsoleApplication4\ConsoleApplication4\bin\Debug\tessnet2_32.dll'
'
ConsoleApplication4.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcm90.dll'
The program '[3688] ConsoleApplication4.vshost.exe: Managed (v4.0.30319)' has exited with code 1 (0x1).
The program '[3688] ConsoleApplication4.vshost.exe: Program Trace' has exited with code 0 (0x0).

解决办法:
我用cmd调用编译好的.exe文件,这样子Console退出以后我也可以看到它的信息啦!哥是不是很聪明_______^
终于看到了错误,好坑爹~:
Unable to load unicharset file D:\Program Files\Tesseract-OCR\eng.unicharset
上网下载tesseract-2.00.eng.tar.gz,把这里面的文件都复制到D:\Program Files\Tesseract-OCR目录下

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 14 条回复 时间 点赞

你工程zip发我qq,我帮你看一下。

#1楼 @lucasluo 非常感谢了 ……STO,在公司代码发不出去的。算了我不再调试它了,因为其他人机器上运行是没问题的,可能是我机器上的环境问题。

@weamylady 新建的Console Application能运行吗?

@weamylady 这个更倾向于程序集,CLR,或者编译configuration的问题。需要你贴出更详细的信息。另外,2010的console application默认创建的是.NET Client Framework,你右键工程名字,然后property,看一下编译的.NET,是不是.NET Framework?把.NET Client 改成.NET Framework。

解决了吗?

#5楼 @lucasluo 我们五点半下班就没看到你的回复哦…… 刚才试了下把Client改成.NET Framework,然后调试了一次依然是这个问题。Console前面运行是正常的,一调用那个dll文件就断掉了,一个错误提示一闪而过貌似是什么"Unable to load xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"。后面实在是看不清楚 STO……
暂时先不管它了,多谢大神啦>_____<

@weamylady 额,我需要看你的工程属性,编译配置,你加载的dll,debug/release才能确认,没能帮上啥忙抱歉了。

#7楼 @lucasluo 没事儿,调不过就不管它了___^ 下次有问题再找你哦 - 3- 么么哒!

#7楼 @lucasluo 哈哈哈!找到方法了! 我用cmd调用编译好的.exe文件,这样子Console退出以后我也可以看到它的信息啦!哥是不是很聪明_______^
终于看到了错误,好坑爹~:

Unable to load unicharset file D:\Program Files\Tesseract-OCR\\eng.unicharset

@weamylady vs里ctrl+F5就可以了

water #11 · February 13, 2015 作者

#10楼 @lucasluo 额……

能把解决方法同时附到主内容里面吗?这样方便后面的人快速参考。

@weamylady 别和我说你是直接把你的exe 拖到cmd console里面。。 那样子肯定可以 也可以用钩子@chenhengjie123

water #14 · April 24, 2015 作者

#13楼 @doria 只是为了看log,程序调用时用dll里面的方法。

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up