tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルビルとしたソフトが動作せず(再)
記事No9460
投稿日: 2009/10/14(Wed) 16:08
投稿者bin
 前に投稿しましたが、私の質問が整理されていなかったため、もう一度
投稿をいたします。

 ・状況
  PC1  PC2 共に XP で 以下をインストール
         .NET Framework 3.5 Language Pack SP1-日本語
           .NET Framework 3.5 SP1
  PC1 はVB2008 Express Editionをインストール、
  PC2 はインストールせず
 ・以上のような状況で下記の操作を行った。
   ・PC1で作成したソフトをPC2にコピーした。
    Releaseフォルダの実行ファイルをPC2にコピーした。
    実行ファイルをダブルクリックしたが下記メッセージがでて
    動作しなっかった
   「例外 System Invalid Operation Exception が簡単アルバ
    ム作成で発生しました」
  
    注 「簡単アルバム作成」はソフトの名前です。
 ・以上の操作はいままで別のソフトで何回となく行ってきたが、
  支障なく動作してきた。今回のように動作しなかったのは初め
  てである。
 ・試しに PC2 に VB2008 Express Edition をインストールしたと
  ころ、実行ファイルは正常に動作した。
 ・今回作成したソフトは画像のサムネイル作成、スライドショウ
  作成これらを支援する HTML ファイルを作成するソフトである。

 以上が状況です。いままで支障なく動作していたのに今回動作し
ないのは作成ソフトの差だけです。いままではテキストファイルの
みを扱うソフトを作成していました。
 なお ActiveX のような特殊機能は使用していません。
 PC2 で VB2008 Express Edition なしでどうして実行ファイルが
動作しないのか以上の操作のなかで何か不具合点がないのかご指摘
いただければ助かります。
 長文になりましたがよろしくおが言いたします。

[ツリー表示へ]
タイトルRe: ビルとしたソフトが動作せず(再)
記事No9461
投稿日: 2009/10/14(Wed) 18:04
投稿者YuO
「ビルと」ではなく,「ビルド」 (最後は濁る) ですよ。


>  PC2 で VB2008 Express Edition なしでどうして実行ファイルが
> 動作しないのか以上の操作のなかで何か不具合点がないのかご指摘
> いただければ助かります。

根本的に,プログラムが間違っているのでしょう。
System.InvalidOperationException例外は,無効な状態における呼び出し時に送出されます。
http://msdn.microsoft.com/ja-jp/library/system.invalidoperationexception.aspx
System.AppDomain.UnhandledExceptionイベントを処理するなどして,ログをはき出してみてはどうでしょうか。
http://msdn.microsoft.com/ja-jp/library/system.appdomain.unhandledexception.aspx

[ツリー表示へ]
タイトルRe^2: ビルとしたソフトが動作せず(再)
記事No9463
投稿日: 2009/10/14(Wed) 18:36
投稿者bin
> 「ビルと」ではなく,「ビルド」 (最後は濁る) ですよ。
>
   失礼しました。

>
> >  PC2 で VB2008 Express Edition なしでどうして実行ファイルが
> > 動作しないのか以上の操作のなかで何か不具合点がないのかご指摘
> > いただければ助かります。
>
> 根本的に,プログラムが間違っているのでしょう。
> System.InvalidOperationException例外は,無効な状態における呼び出し時に送出されます。
> http://msdn.microsoft.com/ja-jp/library/system.invalidoperationexception.aspx
> System.AppDomain.UnhandledExceptionイベントを処理するなどして,ログをはき出してみてはどうでしょうか。
> http://msdn.microsoft.com/ja-jp/library/system.appdomain.unhandledexception.aspx


 根本的に , プログラムが間違っているのであればどうしてデバッ
グ時に出ないのか、と思うのは素人的かんがえでしょうか。しかし
エラーがあったのですから、どこかに間違いがあると認識せざるを
得ません。
 私の実力では相当むつかしそうですので、教えていただいたサイ
トを見て勉強したいと思います。
 どうも有り難うございました。

[ツリー表示へ]
タイトルRe^3: ビルとしたソフトが動作せず(再)
記事No9464
投稿日: 2009/10/14(Wed) 19:49
投稿者オショウ
ReleaseやDebugのフォルダごとコピーして、動作させれば
どうなりますか?

EXE単体ではなく・・・

動作に変化があれば、解決の糸口になるかと。

※ プロジェクトのプロパティで、参照設定している中身も
  確認された方がよいかと。
  実質使っていなくても参照設定すれば、動作に必要な機能
  として情報が埋め込まれるので、無ければ動作しません。

以上。

[ツリー表示へ]
タイトルRe^4: ビルとしたソフトが動作せず(再)
記事No9469
投稿日: 2009/10/14(Wed) 22:40
投稿者bin
> ReleaseやDebugのフォルダごとコピーして、動作させれば
> どうなりますか?
>
> EXE単体ではなく・・・
>
> 動作に変化があれば、解決の糸口になるかと。
>
> ※ プロジェクトのプロパティで、参照設定している中身も
>   確認された方がよいかと。
>   実質使っていなくても参照設定すれば、動作に必要な機能
>   として情報が埋め込まれるので、無ければ動作しません。
>
> 以上。

オショウ さま

参照設定の中身も確認し、ReleaseやDebugのフォルダごとコピー、
実行ファイルを起動させましたがやはり同じエラーでだめでした。
いろいろアドバイス頂き有難うございました。


 

[ツリー表示へ]
タイトルRe^5: ビルとしたソフトが動作せず(再)
記事No9471
投稿日: 2009/10/15(Thu) 08:52
投稿者オショウ
.NETのリモートデバッグを試してみたら?

ランタイムの.NET Frameworkと、リモートデバッグ用の
モジュールだけあれば、ネットワーク介して他のマシン
からデバッグできるので、\Debug\〜のフォルダをコピー
して原因を探る方法もあるかと。

以上。参考まで

[ツリー表示へ]
タイトルRe^6: ビルとしたソフトが動作せず(再)
記事No9472
投稿日: 2009/10/15(Thu) 08:54
投稿者オショウ
残念・・・

Express版には『無かった』・・・
あしからず。

以上。

[ツリー表示へ]
タイトルRe^3: ビルとしたソフトが動作せず(再)
記事No9466
投稿日: 2009/10/14(Wed) 21:28
投稿者YuO
>  根本的に , プログラムが間違っているのであればどうしてデバッ
> グ時に出ないのか、と思うのは素人的かんがえでしょうか。しかし
> エラーがあったのですから、どこかに間違いがあると認識せざるを
> 得ません。

「エラーになる可能性を認識していなかった」
などはよくあることです。

例えば,
For Each val In list ' list As List(Of Integer)
    list.Add(val)
Next
はInvalidOperationExceptionを発生させます。
http://msdn.microsoft.com/ja-jp/library/a3207y01.aspx
しかし,これが特殊な分岐に入った場合にのみに,ループから何個もメソッドを呼んだ先でlistへの操作を行っていた場合,
デバッグでは見つけていない可能性があります。


例外には,発生箇所や呼び出し履歴が含まれます。
なので,ログに書き出しておくとリリース後のバグの特定に役立ちますよ。
# 例外をCatchするのは原則禁止とすべきだとは思いますが (単に握り潰す悪例がなくならないため)。

[ツリー表示へ]
タイトルRe^4: ビルとしたソフトが動作せず(再)
記事No9470
投稿日: 2009/10/14(Wed) 22:52
投稿者bin

>
> 「エラーになる可能性を認識していなかった」
> などはよくあることです。
>
> 例えば,
> For Each val In list ' list As List(Of Integer)
>     list.Add(val)
> Next
> はInvalidOperationExceptionを発生させます。
> http://msdn.microsoft.com/ja-jp/library/a3207y01.aspx
> しかし,これが特殊な分岐に入った場合にのみに,ループから何個もメソッドを呼んだ先でlistへの操作を行っていた場合,
> デバッグでは見つけていない可能性があります。
>
>
> 例外には,発生箇所や呼び出し履歴が含まれます。
> なので,ログに書き出しておくとリリース後のバグの特定に役立ちますよ。
> # 例外をCatchするのは原則禁止とすべきだとは思いますが (単に握り潰す悪例がなくならないため)。

YuO  さま

 本などには配布用ファイルはリリーズビルドしてコピーすればよ
い、コピーしたものは NET.Framework さえあれば他のパソコンで使
用可能とかいてあります。今回の事件 ? で認識が変わりました。
 いろいろアドバイス有難うございました。

[ツリー表示へ]