title: Loading crystal report failed - Invalid field name containing curly brackets
body: <p>
  I have about 700 crystal XI reports with some of them containing closing curly brackets in the formula-field <strong>names</strong> like "<strong>Test }</strong>". Even though Crystal Reports XI can open all of them, C# crashes at the attempt of loading such reports.</p>
  
  <p>This is the code I use to load the reports (which for other reports works fine)</p>
  
  <pre class="lang-cs prettyprint-override"><code>CrystalDecisions.CrystalReports.Engine.ReportDocument reportDocument; 
  reportDocument = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
  
  reportDocument.Load(path); //Application crashes here
  </code></pre>
  
  <p><strong>Following exception is thrown:</strong></p>
  
  <pre class="lang-cs prettyprint-override"><code>A first chance exception of type 'System.Exception' occurred in 
  CrystalDecisions.CrystalReports.Engine.dll
  
  Load report failed 
  Invalid field name
  </code></pre>
  
  <p><strong>So my question is</strong> if there is any possibility of regardlessly loading these reports? If not, is a newer version of the crystal reports DLLs capable of loading older reports?</p>
  
  <p><strong>Some further information about the problem:</strong><br/>
  I am using Visual Studio 2012 C# .NET 4.5 with the platform target set to x86<br/>
  As for the Crystal DLLs I use the version 11.0.3300 </p>
  
  <p>Surprisingly C# hasn't any problems loading reports with field names containing opening curly brackets or many other special characters:</p>
  
  <p>"<strong>Test }</strong>" or "<strong>{Test }</strong>" - Error<br/>
  "<strong>{ Test</strong>" or "<strong>Test {</strong>" - Loading without problems - so opening curly brackets work just fine<br/>
  "<strong>" Test &lt; >= % &amp; |"</strong>" - Loading aswell without any problems (Yes the name contains double quotes)</p>
  
  <h3>Edit: Because of unavoidable confusion: <br/></h3>
  
  <p>Please keep in mind that the problem is about the formula field <strong>names</strong> and <strong>not</strong> the formula itself. Example Image:</p>
  
  <p><img src="https://s17.postimg.org/szt6av8aj/fieldname.png" alt="Example Image"></p>
  
  <p>-> At the moment I see only one solution, as the problem seems to be a combination of the API and C#: Rename all formula field names and remove the brackets</p>
  
  <p>Original Exception Message:</p>
  
  <pre class="lang-cs prettyprint-override"><code>{"Der Bericht konnte nicht geladen werden."} //Load report failed
  Data: {System.Collections.ListDictionaryInternal}
  HelpLink: null
  HResult: -2146233088
  InnerException: {"\rUngültiger Feldname.\nC:\\Users\\username\\AppData\\Local\\Temp\\  
    {566E74ED-58BF-40CD-82B2-9AE0E6BC4013}.rpt"} //Invalid field name
  Message: "Der Bericht konnte nicht geladen werden."
  Source: "CrystalDecisions.CrystalReports.Engine"
  StackTrace: " at 
    CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() \r\n at 
    CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, 
    OpenReportMethod openMethod, Int16 parentJob)\r\n at 
    CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) \r\n at 
    CRTableLister.ReportAnalyzer.analyzeReport(String path)"
  TargetSite: {Void EnsureDocumentIsOpened()}
  </code></pre>