0

プロジェクトで参照されている COM オブジェクトがあります。ターゲット フレームワーク 4.5 でプロジェクトをビルドすると、すべてが機能します。ただし、ターゲット フレームワークを 3.5 (または 2.0) に変更すると、DLLName.exe を使用してクラスをインスタンス化しようとすると、コードが例外をスローします (ActiveX EXE であると推測します)。

以下はエラーです(外国語から翻訳したので正確ではないかもしれません):

System.BadImageFormatException: Could not load file or assembly  'Interop.DLLname, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
File name: 'Interop.DLLname, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
....

Assembly loaded from:  C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under file execution  C:\Users\Admin\Documents\Visual Studio 2012\Projects\....t\bin\Debug\EXEname.vshost.exe
#NAME?
=== Pre-bind state information ===
LOG: User = 
LOG: DisplayName = Interop.DLLname, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
 (Fully-specified)
LOG: Appbase = file:///C:/Users/Admin/Documents/Visual Studio 2012/Projects/............/bin/Debug/
LOG: Initial PrivatePath = NULL
Assembly calls : EXEname, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
===
....
LOG: Using computer file configuration from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
....
ERR: Failed to complete assembly definition (hr = 0x8013101b). 

bin/obj フォルダーから interop.DLLname.dll を削除しようとしました。ビルド内のすべてのプロジェクトが Framework 2.0 をターゲットにしていることを確認しました。

他に何か不足していますか?

4

2 に答える 2