title: The type initializer for 'CrystalDecisions.Shared.SharedUtils' threw an exception
body: <p>I'm working on a project and have run into an issue. When I run my code I get this error message:</p>
  
  <pre class="lang-none prettyprint-override"><code>The type initializer for 'CrystalDecisions.Shared.SharedUtils' threw an exception
  </code></pre>
  
  <p>The title of the message is "TypeInitializerException was unhandled".</p>
  
  <p>I receive this error at this line of code:</p>
  
  <pre class="lang-none prettyprint-override"><code>this.crystalReportViewer = new CrystalDecisions.Windows.Forms.CrystalReportViewer();
  </code></pre>
  
  <p>I've been looking up ways to fix this issue, but I keep running into another issue. Everything I find about how to fix this says that the platform target should be changed to x86. All the comments that follow that advice are always positive because it seems to work for everyone, but it's not working for me. I also tried the platform target as x64. When I do that, I don't receive the previously stated error, but instead I receive a new error that reads:</p>
  
  <pre class="lang-none prettyprint-override"><code>The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
  </code></pre>
  
  <p>The title of <i>this</i> message is "InvalidOperationException was unhandled".
  And the error is on this line:</p>
  
  <pre class="lang-none prettyprint-override"><code>db.Open();
  </code></pre>
  
  <p>db, of course, being set to a new OleDbConnection(connection). connection = an Access db.</p>
  
  <p>Why am I receiving the first error and not the second error when platform target is x86, and vice versa if the platform target is x64?</p>
  
  <p>Stacktrace:</p>
  
  <pre class="lang-none prettyprint-override"><code>System.TypeInitializationException was unhandled
    Message=The type initializer for 'CrystalDecisions.Shared.SharedUtils' threw an exception.
    Source=CrystalDecisions.Shared
    TypeName=CrystalDecisions.Shared.SharedUtils
    StackTrace:
         at CrystalDecisions.Shared.SharedUtils.get_CurrentControl()
         at CrystalDecisions.Shared.SharedUtils.GetEffectiveCulture()
         at CrystalDecisions.Shared.LocaleManager..ctor()
         at CrystalDecisions.Windows.Forms.CrystalReportViewer.InitReportViewer()
         at CrystalDecisions.Windows.Forms.CrystalReportViewer..ctor()
         at Client_Manager.ReportViewer.InitializeComponent() in C:\Users\Will\Desktop\Client_Manager\SyndicateII\ReportViewer.Designer.cs:line 31
         at Client_Manager.ReportViewer..ctor() in C:\Users\Will\Desktop\Client_Manager\SyndicateII\ReportViewer.cs:line 27
         at Client_Manager.Form1..ctor() in C:\Users\Will\Desktop\Client_Manager\SyndicateII\Form1.cs:line 174
         at Client_Manager.Program.Main() in C:\Users\Will\Desktop\Client_Manager\SyndicateII\Program.cs:line 18
         at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
         at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
         at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
         at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
         at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
         at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
         at System.Threading.ThreadHelper.ThreadStart()
    InnerException: System.BadImageFormatException
         Message=Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. An attempt was made to load a program with an incorrect format.
         Source=CrystalDecisions.Shared
         FileName=log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304
         FusionLog==== Pre-bind state information ===
  LOG: User = Will-PC\Will
  LOG: DisplayName = log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304
   (Fully-specified)
  LOG: Appbase = file:///C:/Users/Will/Desktop/Client_Manager/SyndicateII/bin/Debug/
  LOG: Initial PrivatePath = NULL
  Calling assembly : CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304.
  ===
  LOG: This bind starts in default load context.
  LOG: Using application configuration file: C:\Users\Will\Desktop\Client_Manager\SyndicateII\bin\Debug\Client_Manager.vshost.exe.config
  LOG: Using host configuration file: 
  LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
  LOG: Post-policy reference: log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304
  LOG: Attempting download of new URL file:///C:/Users/Will/Desktop/Client_Manager/SyndicateII/bin/Debug/log4net.DLL.
  ERR: Failed to complete setup of assembly (hr = 0x8007000b). Probing terminated.
  
         StackTrace:
              at CrystalDecisions.Shared.SharedUtils..cctor()
         InnerException: 
  </code></pre>