tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルSystem.InvalidOperationException
記事No11010
投稿日: 2013/01/18(Fri) 22:32
投稿者ジュンペイ
VB6.0からVB.Net2010のコンバージョンを実施しておりますが、
Microsoft Visual Studio 2010でのテストが完了して、
Releaseでビルドし作成した実行ファイル一式をMicrosoft Visual Studio 2010が
インストールされていない他のPCに移行したのですが
実行時にSystem.InvalidOperationExceptionが発生して異常終了します。

ちなみにプログラムはExcel,AccessDBを入出力しており、移行先のPCには
ちゃんとOffice2010Proがインストール済で、.NetFrameworkもインストール済です。

Releaseでビルドし作成した実行ファイル一式以外に必要なファイルがあるのでしょうか??
ご存知の方がいらしたらご教授願います。

[ツリー表示へ]
タイトルRe: System.InvalidOperationException
記事No11011
投稿日: 2013/01/19(Sat) 05:34
投稿者魔界の仮面弁士
> 実行時にSystem.InvalidOperationExceptionが発生して異常終了します。
無効な操作を行った、というエラーですね。
VB6 でいうところの、実行時エラー 5 (プロシージャの呼び出し、または引数が不正です)に近いかな。

この例外は特殊な物ではなく汎用的なものなので、例外のメッセージ内容はおろか、
どんなコードを書いたのかさえわからない状況では、正直何とも答えられません。
例外のスタックトレースがあると、解析しやすいのですけれどね。


とりあえず、この例外の出るパターンを幾つか挙げてみると…

・依存コンポーネントでの問題。たとえば、Form に ActiveX コントロールを貼って
 使っているが、そのコントロールのライセンス不足あるいは依存ファイルの未配置などで、
 何かしらのエラーを引き起こしている場合など。
・誤った非同期処理によるエラー。たとえば、UI スレッドとは別のスレッド
 (BackgroundWorker とか SerialPort とか)から、コントロールを操作したとか。
・フォームのコンストラクタ内で落ちている。たとえば InitializeComponent を呼び出す前に
 未生成のコントロールを操作したため、フォームの生成に失敗し、
 結果として InvalidOperationException が発生していたなど。


> ちなみにプログラムはExcel,AccessDBを入出力しており、移行先のPCには
VB アプリの実行に、Office は無関係ないはずですが…。

それとも、VB から Excel や Access を呼び出すようなコードを書いている、
ということなのでしょうか? だとすると、開発環境のOfficeバージョンが、
実行環境のOfficeバージョンと同じものであるか確認しておいてください。


> ちゃんとOffice2010Proがインストール済で、.NetFrameworkもインストール済です。
> Releaseでビルドし作成した実行ファイル一式以外に必要なファイルがあるのでしょうか??
適切なバージョンの .NET Framework さえインスールされているのであれば、
Release ビルドであろうと Debug ビルドであろうと、通常は
EXE をコピーするだけでも動くはずなのですけれどね。]

[ツリー表示へ]
タイトルRe^2: System.InvalidOperationException
記事No11012
投稿日: 2013/01/19(Sat) 22:16
投稿者ジュンペイ
> > 実行時にSystem.InvalidOperationExceptionが発生して異常終了します。
> 無効な操作を行った、というエラーですね。
> VB6 でいうところの、実行時エラー 5 (プロシージャの呼び出し、または引数が不正です)に近いかな。
>
> この例外は特殊な物ではなく汎用的なものなので、例外のメッセージ内容はおろか、
> どんなコードを書いたのかさえわからない状況では、正直何とも答えられません。
> 例外のスタックトレースがあると、解析しやすいのですけれどね。
>
>
> とりあえず、この例外の出るパターンを幾つか挙げてみると…
>
> ・依存コンポーネントでの問題。たとえば、Form に ActiveX コントロールを貼って
>  使っているが、そのコントロールのライセンス不足あるいは依存ファイルの未配置などで、
>  何かしらのエラーを引き起こしている場合など。
> ・誤った非同期処理によるエラー。たとえば、UI スレッドとは別のスレッド
>  (BackgroundWorker とか SerialPort とか)から、コントロールを操作したとか。
> ・フォームのコンストラクタ内で落ちている。たとえば InitializeComponent を呼び出す前に
>  未生成のコントロールを操作したため、フォームの生成に失敗し、
>  結果として InvalidOperationException が発生していたなど。
>
>
> > ちなみにプログラムはExcel,AccessDBを入出力しており、移行先のPCには
> VB アプリの実行に、Office は無関係ないはずですが…。
>
> それとも、VB から Excel や Access を呼び出すようなコードを書いている、
> ということなのでしょうか? だとすると、開発環境のOfficeバージョンが、
> 実行環境のOfficeバージョンと同じものであるか確認しておいてください。
>
>
> > ちゃんとOffice2010Proがインストール済で、.NetFrameworkもインストール済です。
> > Releaseでビルドし作成した実行ファイル一式以外に必要なファイルがあるのでしょうか??
> 適切なバージョンの .NET Framework さえインスールされているのであれば、
> Release ビルドであろうと Debug ビルドであろうと、通常は
> EXE をコピーするだけでも動くはずなのですけれどね。]

ありがとうございます。
このサイトでキーワード検索してみたら、同じ悩みの人がいるようですね!
解決策は見つかっていないようですが。
ためしに無償のMicrosoft Visual Basic 2010 Expressをインストールしたら動作しました。
一通り確認しましたが問題ない感じです。
本当は原因を追究したいのですが、規模が大きいのでリスクが高すぎます。
とりあえずMicrosoft Visual Basic 2010 Expressで様子を見ます。

今はMicrosoft Visual Basic 2010 Expressのスタンドアロン(ネット未接続)での
ライセンス登録に苦慮してます。

[ツリー表示へ]
タイトルRe^3: System.InvalidOperationException
記事No11014
投稿日: 2013/01/19(Sat) 23:22
投稿者VBレスキュー(花ちゃん)
> ためしに無償のMicrosoft Visual Basic 2010 Expressをインストールしたら動作しました。

単に、必要な Framework のバージョン(開発時の)が入っていなかっただけと違いますか。


[ツリー表示へ]
タイトルRe^4: System.InvalidOperationException
記事No11016
投稿日: 2013/01/20(Sun) 01:41
投稿者ジュンペイ
> > ためしに無償のMicrosoft Visual Basic 2010 Expressをインストールしたら動作しました。
>
> 単に、必要な Framework のバージョン(開発時の)が入っていなかっただけと違いますか。
>
>  

同一バージョンのFrameworkはインストールされています。

[ツリー表示へ]
タイトルRe^5: System.InvalidOperationException
記事No11017
投稿日: 2013/01/21(Mon) 10:06
投稿者魔界の仮面弁士
・Express をアンインストールした場合、また動かない環境に戻りますか?

・「フォームがひとつあるだけで、コードもコントロールも一切無いアプリ」を
 新規に作成して配置した場合、その環境で動作しますか?

・実行環境が .NET Framework 4 Client Profile で、
 開発環境が .NET Framework 4 だったりはしませんか?

・実行環境に、.NET Framework の日本語 Language Pack はインストール済みですか?

[ツリー表示へ]
タイトルRe^6: System.InvalidOperationException
記事No11021
投稿日: 2013/01/22(Tue) 20:42
投稿者ジュンペイ
> ・Express をアンインストールした場合、また動かない環境に戻りますか?
>
> ・「フォームがひとつあるだけで、コードもコントロールも一切無いアプリ」を
>  新規に作成して配置した場合、その環境で動作しますか?
>
> ・実行環境が .NET Framework 4 Client Profile で、
>  開発環境が .NET Framework 4 だったりはしませんか?
>
> ・実行環境に、.NET Framework の日本語 Language Pack はインストール済みですか?

色々と申し訳ありません。

私の知識不足のようです。
まだ確認できていないないのですが、参照設定で設定しているCOM等は
「ローカルにコピーする」を「True」に設定してビルドして、
実行環境に移行しないといけないとの話を聞きました。

気付きませんでした。

明日にでも確認してまたご報告します。

[ツリー表示へ]
タイトルRe^7: System.InvalidOperationException
記事No11022
投稿日: 2013/01/23(Wed) 21:22
投稿者ジュンペイ
> > ・Express をアンインストールした場合、また動かない環境に戻りますか?
> >
> > ・「フォームがひとつあるだけで、コードもコントロールも一切無いアプリ」を
> >  新規に作成して配置した場合、その環境で動作しますか?
> >
> > ・実行環境が .NET Framework 4 Client Profile で、
> >  開発環境が .NET Framework 4 だったりはしませんか?
> >
> > ・実行環境に、.NET Framework の日本語 Language Pack はインストール済みですか?
>
> 色々と申し訳ありません。
>
> 私の知識不足のようです。
> まだ確認できていないないのですが、参照設定で設定しているCOM等は
> 「ローカルにコピーする」を「True」に設定してビルドして、
> 実行環境に移行しないといけないとの話を聞きました。
>
> 気付きませんでした。
>
> 明日にでも確認してまたご報告します。

問題なく動作しました。ご迷惑をお掛けしました。

[ツリー表示へ]