Odd issue after latest windows updates (Windows 7)
I have a LINQPad Program I use to do some queries against databases in different environments (Dev, Qa, Staging, Prod) and don't use the built in database connection mechanism in LINQPad. Instead I edit the file and choose an environment and then the script pulls the necessary configuration info out based on that selection, opens a SqlConnection to the selected environment database and then uses Dapper to query the database and do other things.
I went through and recreated the problem in a much simpler script that you can find here:
http://share.linqpad.net/2eqjjw.linq
It gives me an Exception:
The type initializer for 'System.Data.SqlClient.SqlConnection' threw an exception.
Inner Exception is:
Type 'UserQuery+NoEncryptionCrypto' in assembly 'LINQPadQuery, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.
The strange part is that you can fix it by simply choosing any saved db connection in LINQPad and choosing any database from the dropdown.
You can also resolve the problem by comenting out line 4 where I save an object in the CallContext.
Several co-workers use this script on Windows 10 and don't have the issue I have started seeing.
I went through and recreated the problem in a much simpler script that you can find here:
http://share.linqpad.net/2eqjjw.linq
It gives me an Exception:
The type initializer for 'System.Data.SqlClient.SqlConnection' threw an exception.
Inner Exception is:
Type 'UserQuery+NoEncryptionCrypto' in assembly 'LINQPadQuery, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.
The strange part is that you can fix it by simply choosing any saved db connection in LINQPad and choosing any database from the dropdown.
You can also resolve the problem by comenting out line 4 where I save an object in the CallContext.
Several co-workers use this script on Windows 10 and don't have the issue I have started seeing.
Comments
new SqlConnection();
If it has already faulted, you will need to clear the existing process first (Shift+Ctrl+F5).