09-02-2016 01:18 AM
USBー6003のAI信号を取り込み、表示させるソフト(VB2005)があり、
Windows7 32bitでは問題無く動いていたのですが、Windows7 64bit で以下のエラーがVB実行時に出ます。解決策を教えてください。
以下エラー文--------------------------------------------------------------------------------------------------
System.BadImageFormatException はハンドルされませんでした。 Message="ファイルまたはアセンブリ 'NationalInstruments.DAQmx, Version=9.9.35.39, Culture=neutral, PublicKeyToken=18cbae0f9955702a'、 またはその依存関係の 1 つが読み込めませんでした。間違ったフォーマットのプログラムを読み込もうとしました。" Source="NI-6003" FileName="NationalInstruments.DAQmx, Version=9.9.35.39, Culture=neutral, PublicKeyToken=18cbae0f9955702a" FusionLog="=== 事前バインド状態情報 ===\r\nログ: ユーザー = kensaki-PC\\kensaki\r\nログ: DisplayName = NationalInstruments.DAQmx, Version=9.9.35.39, Culture=neutral, PublicKeyToken=18cbae0f9955702a\n (Fully-specified)\r\nログ: Appbase = file:///C:/Users/kensaki/Desktop/vb/NI-6003(Ver101)/NI-6003/bin/Debug/\r\nログ: Initial PrivatePath = NULL\r\n呼び出しているアセンブリ: NI-6003, Version=1.0.1.0, Culture=neutral, PublicKeyToken=null\r\n===\r\nログ: このバインドは default の読み込みコンテキストで開始します。\r\nログ: アプリケーション構成ファイルは見つかりませんでした。 \r\nログ: C:\\Windows\\Microsoft.NET\\Framework64\\v2.0.50727\\config\\machine.config からのコンピュータ構成ファイルを使用します。 \r\nログ: ポリシー後の参照: NationalInstruments.DAQmx, Version=9.9.35.39, Culture=neutral, PublicKeyToken=18cbae0f9955702a\r\nログ: 新しい URL file:///C:/Users/kensaki/Desktop/vb/NI-6003(Ver101)/NI-6003/bin/Debug/NationalInstruments.DAQmx.DLL をダウンロードしようとしています。 \r\nエラー: アセンブリのセットアップを完了できませんでした (hr = 0x8007000b)。調査は中止しました。\r\n" StackTrace: 場所 NI_6003.My.MyApplication.OnCreateMainForm() 場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun() 場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel() 場所 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine) 場所 NI_6003.My.MyApplication.Main(String[] Args) 場所 17d14f5c-a337-4978-8281-53493378c1071.vb:行 81 場所 System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) 場所 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 場所 System.Threading.ThreadHelper.ThreadStart()
解決済! 解決策の投稿を見る。
09-04-2016 11:40 PM
TRfuru様
推測ですが
アプリケーションを64ビットでコンパイルされようとしてるとか?
(ターゲットPCが「AnyCPU」になってる?)
09-05-2016 01:54 AM
su-sann5073様
ご返信ありがとうございます。
まず、状況について説明不足でしたので補足します。
32bitOSで問題なかったVBソフトをソースごとコピーしてVBインストール済みの64bitOSでVB上の実行ボタンで動作させた際のエラーです。
ご返信頂いた内容(ターゲットPCが「AnyCPU」になってる?)ですが、
具体的にどこを確認すればよろしいでしょうか?
当方、素人ですの丁寧にご説明頂けると助かります。
ご返信お待ちしております。
09-05-2016 03:27 AM
TRfuru様
>ご返信頂いた内容(ターゲットPCが「AnyCPU」になってる?)ですが、
>具体的にどこを確認すればよろしいでしょうか?
VB2005は持ってない&使ったことないので具体的には説明できません。
こちらVB2010(ぺこり)
検索してみると下記URLを発見
VB開発者設定で「Debug」や「Release」などのソリューション構成を有効にするには?[VS 2008、VS 2005]
http://www.atmarkit.co.jp/fdotnet/dotnettips/750vbconfigsolution/vbconfigsolution.html
構成マネージャで変更するっぽいです。(構成マネージャを表示させる設定が必要)
「AnyCPU」なってたら「x86」にしてみる
WOW64とは|Windows On Windows 64 - 意味/定義/解説/説明 : IT用語 ...
http://e-words.jp/w/WOW64.html
09-05-2016 06:44 PM
su-sann5073様
問題解決致しました!本当に助かりました。
また何かあれば投稿させていただきますので、ご相談に乗っていただけると助かります。
誠にありがとうございました。