DLL在WinForms中工作但不在控制台应用程序中工作

时间:2014-10-31 04:49:46

标签: c# winforms dll console

我遇到了DLL(WisSensorNLibLib.DLL)的问题,我使用生物识别指纹扫描仪。问题是DLL方法在WinForms应用程序中运行良好(例如验证指纹),但由于我正在开发控制台服务器应用程序,我想在该应用程序上使用这些方法。它没有显示任何错误,我引用了DLL,我用regsrv32注册了它,但似乎没有任何工作,每个测试验证指纹返回不匹配...即使要比较的样本都相同,或者客户端应用程序收到的一个和数据库上的比较样本,或者两者都是硬编码的......

是否与DLL和控制台应用程序的使用不兼容?客户端应用程序(winform)和服务器(控制台)都使用.NET Framework 4.5

1 个答案:

答案 0 :(得分:0)

我唯一想到的是,当你在winform中工作时,调用从STAThread执行。当您的应用程序启动时,Main方法的线程将具有MTA状态。当您指定STAThread时,您可以强制该线程获得STA状态。