Closed
Description
Describe the bug
SqlAuthenticationParameters.ConnectionTimeout
throws MissingMethodException
System.MissingMethodException: Method not found: 'Int32 Microsoft.Data.SqlClient.SqlAuthenticationParameters.get_ConnectionTimeout()'.
at Microsoft.Data.ProviderBase.DbConnectionPool.CheckPoolBlockingPeriod(Exception e)
at Microsoft.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at Microsoft.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at Microsoft.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at Microsoft.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at Microsoft.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry, SqlConnectionOverrides overrides)
at Microsoft.Data.SqlClient.SqlConnection.Open(SqlConnectionOverrides overrides)
at Microsoft.Data.SqlClient.SqlConnection.Open()
at DatabaseTestController.TestSqlConnection(Action`1 customize)
To reproduce
Reproduces by accessing ConnectionTimeout
from a custom SqlAuthenticationProvider
:
class MyCustomSqlAuthenticationProvider : SqlAuthenticationProvider
{
public override async Task<SqlAuthenticationToken> AcquireTokenAsync(SqlAuthenticationParameters parameters)
{
// System.MissingMethodException thrown here
var connectionTimeout = parameters.ConnectionTimeout;
...
}
...
}
Expected behavior
SqlAuthenticationParameters.ConnectionTimeout
returns an integer value.
Further technical details
Microsoft.Data.SqlClient version: 3.0.1
.NET target: netcoreapp3.1 and net472
SQL Server version: N/A
Operating system: Windows 10 Enterprise Build 19043
Additional context
It looks like SqlAuthenticationParameters.ConnectionTimeout
is implemented a a field
but in the ref assemblies it's a property:
Seems like it might just be a typo (i.e. impl missing a { get; }
) but since SqlAuthenticationParameters
is marked partial
maybe I'm not seeing some generated code.