LoaderLock エラー・C++ Runtime エラー発生時の対処

C ランタイムライブラリのロードでエラー R6034 が発生するのは、マニフェストが ないために発生するエラーとなっています。マニフェストとともにアプリケーションが ビルドされるようにするとエラーが回避できます。

【C Run-Time Error R6034】 http://msdn.microsoft.com/en-us/library/ms235560(v=vs.90).aspx

以前にも状況は異なりますが、同様のエラーの発生に関して問い合わせがあり その時に、ESRIから回避方法として提示された方法がございます。 同じ方法で今回もエラーが解消できましたのでその方法をご紹介します。

尚、このエラーに関して ESRI は「サードパーティ製のソフトウエアによって引き起こされている ものであり、ArcGIS Engine や ArcObjects のコードによるものではない」としています。

以下が回避方法の手順です。

1.Visual Studioのプロジェクトを開き、ソリューション エクスプローラーからプロジェクトを選択し、右クリック → 追加 → 新しい項目 を選択します。 2.Visual C# アイテムから、「アプリケーション マニフェスト ファイル」を選択します。 3.追加されたマニフェスト ファイルを開き、ルートの<assembly>要素の中に以下の要素を追加します。

 <dependency>
  <dependentAssembly>
    <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
  </dependentAssembly>
 </dependency>
 <dependency>
  <dependentAssembly>
    <assemblyIdentity type="win32" name="Microsoft.VC90.MFC" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
  </dependentAssembly>
 </dependency>

4.プロジェクトをリビルドします。 5.動作を確認します。