Hi all,

I'm trying to have a managed assembly working properly after being
deployed to an instance of SqlServer 2005. Unfortunately, whenever I
call a particular user defined function which maps to a method of this
assembly, which in turns open a new contextual connection, a weird
exception is thrown. I've already googled a bit and I found this kind of
exception could be related to an invalid configuration file for the
application; unfortunately there's no configuration file deployed with
this assembly.

Here is the full exception details:

-----------
A .NET Framework error occurred during execution of user-defined routine
or aggregate "ResolveCmsReferences":
System.TypeInitializationException: The type initializer for
'System.Data.SqlClient.SqlConnection' threw an exception. --->
System.TypeInitializationException: The type initializer for
'System.Data.SqlClient.SqlConnectionFactory' threw an exception. --->
System.TypeInitializationException: The type initializer for
'System.Data.SqlClient.SqlPerformanceCounters' threw an exception. --->
System.IO.FileLoadException: The located assembly's manifest definition
does not match the assembly reference. (Exception from HRESULT: 0x80131040)
System.IO.FileLoadException:
  at System.Diagnostics.Switch.InitializeWithStatus()
  at System.Diagnostics.Switch.get_SwitchSetting()
  at System.Diagnostics.TraceSwitch.get_Level()
  at System.Data.ProviderBase.DbConnectionPoolCounters..ctor(String
categoryName, String categoryHelp)
  at System.Data.SqlClient.SqlPerformanceCounters..ctor()
  at System.Data.SqlClient.SqlPerformanceCounters..cctor()
System.TypeInitializationException:
  at System.Data.SqlClient.SqlConnectionFactory..ctor()
  at System.Data.SqlClient.SqlConnectionFactory..cctor()
System.TypeInitializationException:
  at System.Data.SqlClient.SqlConnection..cctor()
System.TypeInitializationException:
  at System.Data.SqlClient.SqlConnection..ctor(String connectionString)
  at ***.UserDefinedFunctions.ResolveCmsReference(String assetId)
  at ***.UserDefinedFunctions.CmsImageMatchEvaluator(Match maCurrent)
  at
System.Text.RegularExpressions.RegexReplacement.Replace(MatchEvaluator
evaluator, Regex regex, String input, Int32 count, Int32 startat)
  at System.Text.RegularExpressions.Regex.Replace(String input,
MatchEvaluator evaluator, Int32 count, Int32 startat)
  at System.Text.RegularExpressions.Regex.Replace(String input,
MatchEvaluator evaluator)
  at ***.UserDefinedFunctions.ResolveCmsReferences(SqlString sqlInput)
.
The statement has been terminated.
-----------

The method which actually throws the exception is this one (I've omitted
the irrelevant lines of code):

-----------
[SqlFunction]
public static SqlString ResolveCmsReferences(SqlString sqlInput)
{
   // strip...
   using (SqlConnection connContext = new SqlConnection("context
connection=true"))
   {
      // The following line is throwing the aforementioned exception
       connContext.Open();
      // strip...
   }
   // strip...
}
-----------

The SQLCLR assembly has been deployed with an EXTERNAL ACCESS permission
level.

Any help would be very appreciated.
Thanks.

--
Efran Cobisi
http://www.cobisi.com

===================================
This list is hosted by DevelopMentorĀ®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to