System.Transactions.Diagnostics.DiagnosticTrace throwing TypeInitializationException
Solution 1
The comment about seeing the link below should fix the problem. App's .exe file missing .NET TargetFramework, but only on clean builds
Basically: Delete C:\Users\YOURNAME\AppData\Local\Temp\.NETFramework,Version=v4.0.AssemblyAttributes.cpp
Solution 2
(From comments above)
I had capitalization problems in my app.config file. Example: "connectionstrings" should be "connectionStrings". That seemed to solve the problem for me.
Hope this helped others.
Thomas
C++/C# primarily. Familiar with a number of scripting languages. Qt and WPF for ui toolkits. Learning ASP.NET MVC, CSS, and Silverlight.
Updated on June 17, 2022Comments
-
Thomas almost 2 years
Seems related to Strange exception coming out of OdbcConnection.Open() but I'm not sure.
I recently switched over to Win8 and hadn't run this app since. I'm using VS2012, but the projects have not been upgraded. The dump of the exception looks like this:
Unhandled Exception: System.TypeInitializationException: The type initializer for 'System.Transactions.Diagnostics.DiagnosticTrace' threw an exception. ---> System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize ---> System.TypeInitializationException: The type initializer for 'System.Uri' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.UriParser' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.Runtime.Versioning.BinaryCompatibility' threw an exception. ---> System.ArgumentException: String cannot be of zero length. Parameter name: frameworkName at System.Runtime.Versioning.BinaryCompatibility.ParseFrameworkName(String frameworkName, String& identifier, Int32& version, String& profile) at System.Runtime.Versioning.BinaryCompatibility.ParseTargetFrameworkMonikerIntoEnum(String targetFrameworkMoniker, TargetFrameworkId& targetFramework, Int32& targetFrameworkVersion) at System.Runtime.Versioning.BinaryCompatibility.ReadTargetFrameworkId() at System.Runtime.Versioning.BinaryCompatibility.get_AppWasBuiltForFramework() at System.Runtime.Versioning.BinaryCompatibility..cctor() --- End of inner exception stack trace --- at System.Runtime.Versioning.BinaryCompatibility.get_TargetsAtLeast_Desktop_V4_5() at System.UriParser..cctor() --- End of inner exception stack trace --- at System.Uri..cctor() --- End of inner exception stack trace --- at System.Configuration.ClientConfigurationSystem..ctor() at System.Configuration.ConfigurationManager.EnsureConfigurationSystem() --- End of inner exception stack trace --- at System.Configuration.ConfigurationManager.PrepareConfigSystem() at System.Configuration.ConfigurationManager.GetSection(String sectionName) at System.Configuration.PrivilegedConfigurationManager.GetSection(String sectionName) at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection() at System.Diagnostics.DiagnosticsConfiguration.Initialize() at System.Diagnostics.DiagnosticsConfiguration.get_Sources() at System.Diagnostics.TraceSource.Initialize() at System.Diagnostics.TraceSource.get_Switch() at System.Transactions.Diagnostics.DiagnosticTrace..cctor() --- End of inner exception stack trace --- at System.Transactions.Transaction.get_Current() at SD.LLBLGen.Pro.ORMSupportClasses.DataAccessAdapterBase.InitClass(IComPlusAdapterContext comPlusContextHost, IPersistenceInfoProvider persistenceInfoProvider) at ZAA.FarmInterface.bw_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e) in d:\eddynet\projects\zaa\zaacmdline\farminterface.cpp:line 482 at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e) at System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg) at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
App.config looks like so:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <!--For LLBLGen --> <assemblyIdentity name="Npgsql" culture="neutral" publicKeyToken="5d8b90d52f46fda7"/> <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.11.0"/> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
I've tried rebuilding, to no avail.
Tried adding an empty section to app.config.
Looking at the manifest off the .exe in ILDASM, I found this, which looks odd:
.assembly zaacmdline { .custom instance void [mscorlib]System.Runtime.Versioning.TargetFrameworkAttribute::.ctor(string) = ( 01 00 00 01 00 54 0E 14 46 72 61 6D 65 77 6F 72 // .....T..Framewor 6B 44 69 73 70 6C 61 79 4E 61 6D 65 10 2E 4E 45 // kDisplayName..NE 54 20 46 72 61 6D 65 77 6F 72 6B 20 34 ) // T Framework 4 .custom instance void [mscorlib]System.Security.SecurityRulesAttribute::.ctor(valuetype [mscorlib]System.Security.SecurityRuleSet) = ( 01 00 01 00 00 ) .permissionset reqmin = {[mscorlib]System.Security.Permissions.SecurityPermissionAttribute = {property bool 'SkipVerification' = bool(true)}} .hash algorithm 0x00008004 .ver 0:0:0:0 }
the TargetFrameworkAttribute is certainly fubar, compared to the working machine. How do I fix it?
-
Thomas about 11 yearsYes, that's why I asked DSN_SLO to submit it as an answer.
-
David Sacks almost 10 yearsConfiguration System Failed to Initialize See this link also, ran into a case where I had to edit the .cpp file, deleting it was not enough (it would get re-created wrong) stackoverflow.com/questions/13315940
-
Fanda over 8 yearsThis really works. I spent 2 days to solve this! Thank you very much!