産業用カメラに関するFAQ/TeliCamSDKを使用したC#アプリケーションを別バージ...
TeliCamSDKを使用したC#アプリケーションを別バージョンのTeliCamSDKがインストールされたPCで実行しようとするとアプリケーションの起動に失敗します。(No.224)
【対処法】
アプリケーション実行ファイルが入っているフォルダにアプリケーションのコンパイルに使用したバージョンのTeliCamApi.dllとTeliCamUtl.dllをコピーすると正常起動するようになります。64bitアプリケーションの場合はTeliCamApi64.dllとTeliCamUtl64.dllをコピーしてください。
【エラーが発生する原因】
TeliCamSDKを使用したC#アプリケーションは、アプリケーション起動時に以下のTeliCamApi.dllとTeliCamUtl.dll(またはTeliCamApi64.dllとTeliCamUtl64.dll)のラッパーdllの中の1個をアプリケーション実行ファイルが入っているフォルダからロードします。
TeliCamDNet4_0Api.dll、TeliCamDNet2_0Api.dll、TeliCamDNet4_0Api64.dll、TeliCamDNet2_0Api64.dll
TelCamSDK PkgVer2.0.1.1では、PkgVer1.0.7.1にはなかった新しい関数が追加されています。PkgVer2.1.0.1でもchunk機能関係関数などの新しい関数が追加されています。このため、アプリケーションのコンパイルに使用したPkgVer以外のバージョンのTelCamSDKがインストールされたPCでアプリケーションを実行すると、NETラッパーdllが.追加されたネイティブの関数のロードに失敗し、例外が発生します。
TeliCamApi.dllとTeliCamUtl.dll(またはTeliCamApi64.dllとTeliCamUtl64.dll)がアプリケーションフォルダに存在する場合、.NETラッパーdllはアプリケーションフォルダにあるdllを使用するので、追加されたネイティブの関数も正常にロードできるようになり、アプリケーションが正常起動するようになります。
アプリケーション実行ファイルが入っているフォルダにアプリケーションのコンパイルに使用したバージョンのTeliCamApi.dllとTeliCamUtl.dllをコピーすると正常起動するようになります。64bitアプリケーションの場合はTeliCamApi64.dllとTeliCamUtl64.dllをコピーしてください。
【エラーが発生する原因】
TeliCamSDKを使用したC#アプリケーションは、アプリケーション起動時に以下のTeliCamApi.dllとTeliCamUtl.dll(またはTeliCamApi64.dllとTeliCamUtl64.dll)のラッパーdllの中の1個をアプリケーション実行ファイルが入っているフォルダからロードします。
TeliCamDNet4_0Api.dll、TeliCamDNet2_0Api.dll、TeliCamDNet4_0Api64.dll、TeliCamDNet2_0Api64.dll
TelCamSDK PkgVer2.0.1.1では、PkgVer1.0.7.1にはなかった新しい関数が追加されています。PkgVer2.1.0.1でもchunk機能関係関数などの新しい関数が追加されています。このため、アプリケーションのコンパイルに使用したPkgVer以外のバージョンのTelCamSDKがインストールされたPCでアプリケーションを実行すると、NETラッパーdllが.追加されたネイティブの関数のロードに失敗し、例外が発生します。
TeliCamApi.dllとTeliCamUtl.dll(またはTeliCamApi64.dllとTeliCamUtl64.dll)がアプリケーションフォルダに存在する場合、.NETラッパーdllはアプリケーションフォルダにあるdllを使用するので、追加されたネイティブの関数も正常にロードできるようになり、アプリケーションが正常起動するようになります。