0

Visual Studio 2005でビルドされたサードパーティのDLLがあり、Visual Studio 2008でビルドされたプロジェクトで使用しています。このDLLは、VS2005CRTバージョン8.0.50727.4053に依存しています。

Windows 7では動作しますが、VistaおよびXPではLoadLibraryがサイドバイサイドエラーで失敗します。これは、イベントビューアからのものです。

「C:\MyLibrary.dll」のアクティベーションコンテキストの生成に失敗しました。依存アセンブリMicrosoft.VC80.CRT、processorArchitecture = "x86"、publicKeyToken = "1fc8b3b9a1e18e3b"、type = "win32"、version="8.0.50727.4053"が見つかりませんでした。詳細な診断にはsxstrace.exeを使用してください。

コンピュータからDLLと同じディレクトリに、をコピーしようとしましたが、LoadLibraryが失敗し、同じエラーがイベントビューアに表示さmsvcm80.dllmsvcp80.dllます。msvcr80.dllx86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4053_none_d08d7da0442a985d

これはsxstrace.exeからの出力です。

=================
Begin Activation Context Generation.
Input Parameter:
    Flags = 0
    ProcessorArchitecture = x86
    CultureFallBacks = en-US;en
    ManifestPath = C:\MyDir\MyLibrary.dll
    AssemblyDirectory = C:\MyDir\
    Application Config File = 
-----------------
INFO: Parsing Manifest File C:\MyDir\MyLibrary.dll.
    INFO: Manifest Definition Identity is (null).
    INFO: Reference: Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053"
INFO: Resolving reference Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053".
    INFO: Resolving reference for ProcessorArchitecture x86.
        INFO: Resolving reference for culture Neutral.
            INFO: Applying Binding Policy.
                INFO: Find publisher policy at C:\Windows\WinSxS\manifests\x86_policy.8.0.microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4016_none_5169e8e10f4ca52d.manifest
                INFO: No binding policy redirect found.
            INFO: Begin assembly probing.
                INFO: Did not find the assembly in WinSxS.
                INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.CRT\8.0.50727.4053__1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.DLL.
                INFO: Attempt to probe manifest at C:\MyDir\Microsoft.VC80.CRT.DLL.
                INFO: Attempt to probe manifest at C:\MyDir\Microsoft.VC80.CRT.MANIFEST.
                INFO: Attempt to probe manifest at C:\MyDir\Microsoft.VC80.CRT\Microsoft.VC80.CRT.DLL.
                INFO: Attempt to probe manifest at C:\MyDir\Microsoft.VC80.CRT\Microsoft.VC80.CRT.MANIFEST.
                INFO: Did not find manifest for culture Neutral.
            INFO: End assembly probing.
    ERROR: Cannot resolve reference Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053".
ERROR: Activation Context generation failed.
End Activation Context Generation.
4

2 に答える 2

1

VS2005の再配布可能なパッケージをインストールする必要があります。残念ながら、さまざまなサービスパックレベル、セキュリティ修正などのためにそれらのいくつかがあります。

一般に、必要なものを見つけるには、ロードされていないDLLのバージョン番号(この場合は8.0.50727.4053 )をGoogleに入力します。

あなたはおそらく正しいパッケージへのリンクを見つけるでしょう。

于 2012-09-21T09:05:53.007 に答える
1

Microsoft Visual C++2005再配布可能ファイルをインストールする必要があります。

于 2012-09-20T15:27:28.753 に答える