1

次の例外の考えられる原因は何ですか?

System.PlatformNotSupportedException: 'ResourcePool' is not supported on the current platform.
   at System.EnterpriseServices.Platform.Assert(Boolean fSuccess, String function)
   at System.EnterpriseServices.Platform.Assert(Version platform, String function)
   at System.EnterpriseServices.ResourcePool..ctor(TransactionEndDelegate cb)
   at System.Data.SqlClient.ConnectionPool..ctor(DefaultPoolControl ctrl)
   at System.Data.SqlClient.PoolManager.FindOrCreatePool(DefaultPoolControl ctrl)
   at System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction)
   at System.Data.SqlClient.SqlConnection.Open()

プラットフォームは Windows 2003 Server SP2 です。同じコードが Windows XP SP2 で問題なくテストされています。ただし、プラットフォームに関係なく、この例外が発生する理由を知ることは興味深いでしょう。

4

1 に答える 1

1

Reflector を使用してソースを調べましたが、ResourcePool の静的コンストラクターで Platform.Assert への呼び出しが見つからないようです。

Windows 2003 サーバーは 64 ビットですか? それが問題かもしれません。

于 2008-10-06T22:27:17.093 に答える