我看到来自Windows 7计算机上的Windows窗体应用程序的以下异常。这刚刚开始在这台机器上发生。它仍适用于其他人,但不适用于特定的机器。
例外:
Exception Type: System.ApplicationException
Message: A device attached to the system is not functioning. (Exception from HRESULT: 0x8007001F)
Data: System.Collections.ListDictionaryInternal
TargetSite: Void AddTimerNative(System.Object, UInt32, UInt32, System.Threading.StackCrawlMark ByRef)
Source: mscorlib
StackTrace信息:
at System.Threading.TimerBase.AddTimerNative(Object state, UInt32 dueTime, UInt32 period, StackCrawlMark& stackMark)
at System.Threading.TimerBase.AddTimer(TimerCallback callback, Object state, UInt32 dueTime, UInt32 period StackCrawlMark & stackMark)
at System.Threading.Timer.TimerSetup(TimerCallback callback, Object state, UInt32 dueTime, UInt32 period, StackCrawlMark & stackMark)
at System.Threading.Timer..ctor(TimerCallback callBack, Object state, Int32 dueTime, Int32 period)
at System.Data.ProviderBase.DbConnectionPool.CreateCleanupTimer()
at System.Data.ProviderBase.DbConnectionPool.Startup()
at System.Data.ProviderBase.DbConnectionPoolGroup.GetConnectionPool(DbConnectionFactory connectionFactory)
at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPool(DbConnection owningObject, DbConnectionPoolGroup connectionPoolGroup)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()
at System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
这似乎也发生在应用程序中运行的第一个查询上。我可以通过该机器上的ODBC连接连接到数据库服务器,因此我知道机器可以看到数据库服务器。有什么建议吗?
答案 0 :(得分:0)
事实证明,这个错误与我们公司编写的程序使用的dll有关。这似乎只发生在Windows 7中。
问题是我们使用的是名为 CryptBase.dll 的DLL,但Windows 7还附带了它自己的 CryptBase.dll 。我的公司版本必须与Windows版本冲突,因为一旦我们删除了我们的dll版本,程序就开始工作了。