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

      2017/12/09

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

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

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

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

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

 - プログラミング, ArcGIS ,