• 締切済み

VB2010で作成したソフトのexeファイルが実行できません。

VB2010で作成したソフトのexeファイルが実行できません。 以前、Windows XP上のVisual basic 6.0で作成したソフトを一部直すために、Windows7上のVisual basic 2010でそのままの形で書き直しました。しかし、以下の4つの警告文が出るためか、exeファイルを実行できません。その警告文は以下の通りですが、内容が理解できません。 1)アセンブリ 'AxInterop.Microsoft.Vbe.Interop.Forms' からの間接的な参照が原因で、埋め込まれた相互運用機能アセンブリ 'stdole' に対して参照が作成されました。両方のアセンブリで '相互運用機能型の埋め込み' プロパティを変更することを検討してください。 2)アセンブリ 'Interop.MSComDlg' からの間接的な参照が原因で、埋め込まれた相互運用機能アセンブリ 'stdole' に対して参照が作成されました。両方のアセンブリで '相互運用機能型の埋め込み' プロパティを変更することを検討してください。 3)アセンブリ 'Microsoft.Vbe.Interop.Forms' からの間接的な参照が原因で、埋め込まれた相互運用機能アセンブリ 'stdole' に対して参照が作成されました。両方のアセンブリで '相互運用機能型の埋め込み' プロパティを変更することを検討してください。 4)アセンブリ 'Microsoft.VisualBasic.Compatibility' からの間接的な参照が原因で、埋め込まれた相互運用機能アセンブリ 'stdole' に対して参照が作成されました。両方のアセンブリで '相互運用機能型の埋め込み' プロパティを変更することを検討してください。 以上、宜しくお願いします。

みんなの回答

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

Forms2.0 を使っている時点で論外。 その参照を使わずに作り直してください。 http://www.atmarkit.co.jp/fdotnet/special/vstodev/vstodev_04.html http://support.microsoft.com/kb/824009/ja > http://psguide.okwave.jp/guide/netiquette.html > 多重投稿(マルチポスト)はしないようにしましょう ネチケットは守るようにお願いします。 http://bbs.wankuma.com/index.cgi?mode=al2&namber=53617

  • cotae_bb
  • ベストアンサー率53% (51/95)
回答No.1

VB2010もってないので詳しいことはわかりませんが、 .NET Frameworkのバージョンは大丈夫ですか? VS2010は.NET Framework4で作成可能と聞きましたが、もし4で作成されているのに、 XPにインストールされている.NET Frameworkが3.5SP1とかだったら動かないと思います。

Kchan34
質問者

補足

どうもありがとうございます。 .NET Frameworkについては、よくわかりません。 VB2010で作成したexeファイルをソフトを作成したパソコンでも別のパソコンでもwINDOWS7上で走らせて、うまく実行できません。

関連するQ&A

  • VB6.0からVB2010へのプログラムの書き換え

    VB6.0からVB2010へのプログラムの書き換えをしています。 「アセンブリ 'Microsoft.Vbe.Interop.Forms' からの間接的な参照が原因で、埋め込まれた相互運用機能アセンブリ 'stdole' に対して参照が作成されました。両方のアセンブリで '相互運用機能型の埋め込み' プロパティを変更することを検討してください。」などの警告が3件出ました。 他の2つは参照名が"Interop.MSComDlg"と"Microsoft.Vbe.Interop.Forms"で警告文の文面は同じです。 そこで、参照で対応する参照名のプロパティの埋め込みを変えると、今度は「クラス 'AxFrame' への参照は、そのアセンブリが No-PIA モードを使用してリンクされている場合には許可されません。」というエラーと「相互運用機能型 'AxFrame' を埋め込むことができません。代わりに適用可能なインターフェイスを使用してください。」という2つのエラーが出ます。 どのように、すればエラーを解消できるでしょうか。 宜しくお願いします。

  • VB.Net リビルド 意味不明なメッセージが・・

    お世話になります。 VB.Net 駆け出しの者です プロジェクトをビルド、リビルトすると、いつからか以下のメッセージが出るようになっていました。 ****************************************************** vbc : warning BC40059: アセンブリ 'Microsoft.VisualBasic.Compatibility' からの間接的な参照が原因で、埋め込まれた相互運用機能アセンブリ 'stdole' に対して参照が作成されました。両方のアセンブリで '相互運用機能型の埋め込み' プロパティを変更することを検討してください。 ****************************************************** 上記のメッセージが出ても、デバックもしくは発行で実行することは可能なのですが、何か気持ち悪い気がしております。エラーメッセージならクリックすればそのコードに移りますが、実際にどこがという指定がないので、その問題の箇所にたどり着けないのです。 上記のメッセージ、もしくはそのほかの情報からなんとかメッセージの箇所を突き止める方法はありますでしょうか?何かご存知の方がいらっしゃいましたら何卒ご教授いただければと存じます。 よろしくお願いいたします。

  • C#.NETでのCOMコンポーネント作成方法

    お願いします。 C#.NET2003で、時間を表示する極簡単なユーザコントロールを作成しました。 そのユーザコントロールは、同じソリューションの中でTestアプリケーションを 作成し、参照設定で「参照の追加」-「プロジェクト」タブで追加することにより、 ツールボックスのマイユーザコントロール上に表示され、Testフォームに貼り 付けることが出来、正常に動作しました。 ここまではいいのですが、このユーザコントロールを誰でも使えるようにしようと、 以下を実行しました。 (1) 構成プロパティの「COMの相互運用機能に登録」を「True」に変更。 (2) sn.exe -k コマンドにより、.snkファイルを作成。 (3) ユーザコントロールのAssemblyInfo.csを2行修正。 [assembly: AssemblyVersion("1.0.0.1")] [assembly: AssemblyKeyFile("..\\..\\SimpleUserControl.snk")] (4) ソリューションをリビルド。 (5) リビルドしたDLLファイルをC:\Windows\assemblyフォルダにコピー。 このようにして、新しいプロジェクトを作成し、「参照の追加」のCOM タブを見ると、ちゃんとユーザコントロールが見えるのですが、追加 しようとすると、以下のエラーが発生しました。 ============================================================= 'SimpleUserControl'への参照を追加できませんでした。 タイプライブラリを.NETアセンブリに変換できませんでした。 タイプライブラリSimpleUserControlはCLRアセンブリからエクスポートされた ため、CLRアセンブリとして再度インポートすることはできません。 ============================================================= 何か手順が抜けているの思うのですが、どなたかご教示頂けないで しょうか?

  • COM相互運用機能のON,OFFによるDLLの差異

    Visual Studio 2010で、VB.NETのクラスライブラリを作成して、.NETとCOMの両方で使用しているのですが以下のことがよく分かりませんので教えてください。 同じプロジェクトのDLLファイルをVB.NETなどから.NET用のDLLとして使っているだけでなく、VBAなどからもCOM用のDLLとして使っているのですが、プログラムに変更があると、COM相互運用機能の登録がONの場合とOFFの場合の両方で2回ビルドして各々のDLLファイルを別に用意して使い分けていました。しかし、先日、COM相互運用機能の登録をONにしてビルドしたDLLでもVB.NETなどから.NET用のDLLとして参照できてしまうことが分かりました。.NET用のDLLとして利用する場合には、COM相互運用機能の登録をON,OFFに関係なくどちらでビルドしたDLLファイルでも使用できるのでしょうか。たまたま今は参照できているだけで将来的には使えなくなる可能性があるので、.NET用のDLLとして使用する場合には、COM相互運用機能の登録をOFFにしてビルドしたDLLを使用するべきなのかがよく分かりません。つまり、下記の(A)と(B)のどちらが正しいのかがよく分かりませんので教えてください。 (A) VB.NETとして使用する場合には、COM相互運用機能の登録をON,OFFに関係なく、どちらでビルドしたDLLファイルでも使用できるが、COMとして利用する場合には、COM相互運用機能の登録をONにして、ビルドして作成したDLLファイル(.dll)とタイプ ライブラリ ファイル(.blt)を使用する。VB.NETとしてもCOMとしても利用する場合には、COM相互運用機能の登録をONの方だけビルドすればよい。 (B) VB.NETとして利用する場合には、COM相互運用機能の登録をOFFしてビルドしたDLLを使用する。COMとして利用する場合には、COM相互運用機能の登録をONにしてビルドして作成したDLLファイル(.dll)とタイプ ライブラリ ファイル(.blt)を使用する。VB.NETとしてもCOMとしても利用する場合には、COM相互運用機能の登録をON,OFFの両方で2度ビルドする必要がある。 なお、(A)が正しい場合にのみ、分かる範囲でいいので教えてほしいのですが、 コードを何も変更しないでビルドしてもDLLファイル(.dll)は更新されませんが、COM相互運用機能の登録のONとOFFを変更するだけでDLLファイル(.dll)は更新されています。COM相互運用機能の登録をONにしてビルドして作成されたDLLファイル(.dll)は、COM相互運用機能の登録をOFFにしてビルドして作成されたDLLファイル(.dll)と何が異なるのでしょうか。 よろしくお願いします。

  • Word相互参照の文字を一括で変更する方法

    Word 2002で 相互参照機能を多用した文書を作成しており、 PDF等にしたときも、リンクだとわかるように 文字色を青に変更したいのですが 相互参照機能を利用して入力した文字を 一括で選択、もしくは何か特殊なスタイルで書式を一括で変更するような方法はありますでしょうか? もしご存じでしたら、宜しくお願いいたします。

  • 工程表作成ソフトを探しています

    工程表を作成するソフトを探しております。 機能としては、 ・予定線に実績線がオーバーレイされる ・予定線、実績線ともにマウスのドラックで変更可能 ・実績が実線で結ばれ、どの工程が遅れているか一目瞭然 運用は、ソフトウェアの管理に使用しますが、工事用でも代用可能かと思いますが、上記機能をさえ満たしていれば、いいので、簡易でも構いません。 有料で構いませんので、ご存じの方、紹介願います。

  • Excel2003 VBE 参照設定を解除するには

    Excel2003のVBEの「ツール」メニューの「参照設定」で表示される「参照設定」ダイアログボックスの「参照可能なライブラリファイル」のリストボックスに、VS2010などでVB.NETのクラスライブラリをCOM相互運用機能を登録をオンにしてビルドするとそのソリューション名が自動的に登録されてチェックボックスを伴って表示されると思いますが、いろいろビルドしているうちに、このリストボックスに「ClassLibrary1」が多数表示されてしまっているのですが、今となってはほとんとが不要なので、参照設定を解除して表示されないようにしたいのですが、「参照設定」ダイアログボックス上には「削除」ボタンがありませんが、これらを消すにはどのようにすればよいのでしょうか。

  • vb6について

    会社で、GPIB、I/O、ActiveXコンポーネントの環境下で、 VB6のプログラムを使用して試験評価を行っているのですが、 VB6のコードを変更するにあたり、うまくいきません。 どなたかご教授願います。 内容は、 コードを変更したいので、元々の.vbpを開くと、 まず、「オブジェクトライブラリは登録されていません」とエラーが出ます。 その後、「プロジェクトのロードを続けますか?」となるので、OKを押します。 すると、「読み込み中にエラーが発生しました。・・・.logを参照してください」と出ます。 気にせず、OKを押し、コードの内容を変更したあと(※変更しなくても)、 プロジェクトの上書き保存をしたあと、.exeの作成(上書き)をすると、 また、「読み込み中にエラーが発生しました。・・・.logを参照してください」と出ます。 気にせず、OKを押し、作成した.exeを開くと、変更した内容になっていますが、 いざ、実行すると、「実行時エラー”13” 型が一致しません」とエラーが出ます。 .logの内容を確認すると、”クラス・・・がロードされていません”とか、 ”プロパティ名・・・が不正です”とか表示されています。 試験する上で、使用しやすいようにVB6のコードを変更したいのですが、 試験で使用しているPCで元々のコードを変更しようとすると、上記のようなエラーが出ます。 どなたか、解決方法を教えてください。

  • VB2008→VB2010でエラーが出てまいります

    VB2008→VB2010でエラーが出てまいります  今日は、質問させていただきます。どうぞよろしくお願いいたします。  VB2008+Vistaから、VB2010に変更しようといたしました。 一度必要のないと思われるものをすべてアンインストールし、 VB2010をインストール後、作成中のプロジェクトを開きましたところ、 以下のようなエラーが出てまいります。 ↓【エラー一覧】の項目でございます 警告 1 タイプ ライブラリ "Microsoft.Office.Core" のラッパー アセンブリが見つかりません。 警告 2参照コンポーネント '(プロジェクト名)' が見つかりませんでした。 警告 3参照コンポーネント 'Microsoft.Office.Core' が見つかりませんでした。 ↓【参照】タブを開こうといたしますと、下のような表示が出てまいります。 ページを読み込もうとしているときにエラーが発生しました。 ターゲット フレームワーク '.NETFramework,Version=v4.0' の mscorlib を解決できませんでした。これは、ターゲット フレームワークがインストールされていない場合、またはフレームワーク モニカーの形式が正しくない場合に発生する可能性があります。  .NET Frameworkの何かを消してしまったのでは?などと考えまして、 再インストールなど奮闘してみましたが、解決いたしません。。。 インストール済みの.NET~は添付図の項目になります。  もしお詳しい方がいらっしゃいましたら,是非ともアドバイスいただけないでしょうか。 どうぞよろしくお願いいたします。

  • VBAで呼び出したVBのDLLのデバッグ方法

    VB2010で、COM相互運用機能を使って作成したDLLを VBAから呼び出すことはできるのですが この状態でこのDLLをデバッグすることはできないでしょうか。 本来ならば、DLLをデバッグするテストプログラムを VB2010のVB.NETのWindowsフォームアプリケーションか ConsoleApplication1で作成して、 同じソリューションの中に DLLとテストプログラムのプロジェクトを配置して 参照の追加でDLLを参照設定して 両者をデバッグをすると思われますが、 テストプログラムを作るのがかなり大変なのと、 今回作成したDLLは、元々はVBAの中のひとつのプロシージャ―で、 事情があって、このプロシージャ―だけをVBのDLLにしたものです。 このプロシージャ―は元々はVBAの中で正しく動作していたものです。 VBに書き直した時に何らかの不具合が起きていると思われます。 テストプログラムを作らずに、既存のVBAから呼び出して、 DLLの部分の動作だけを(できればVB2010で)デバッグできないでしょうか。 よろしくお願いします。 (WindowsXP SP3 , Excel2003のVBA , Visual Studio 2010)

専門家に質問してみよう