2012-02-01 6 views
-1

すべてのファイルをデバッグ(またはリリース)フォルダからコピーしてどこかに貼り付けると、開いていないプロセスが消えてメッセージが表示されなくなります。とにかく、デバッグやリリースのフォルダではすべてがうまくいくようです。何か案は?.NETアプリケーションのみがデバッグフォルダ内で動作しています

アセンブリファイルを実行しようとしているので、私はそれをデバッグできません。

+1

あなたはすべての依存関係を使用していますか?ネイティブ(C/COM/C++)コンポーネントに依存するサードパーティライブラリ –

+0

関連するアセンブリをすべてコピーしていますか?エラーメッセージが出ていますか?おそらく、デプロイメント手法に欠陥があります。つまり、レガシーアプリケーション/アンマネージコード/実行可能ファイルのデプロイに使用している方法です。フォルダーをデバッガーの外に移動し、何が起こるかを確認してください。 – MethodMan

+0

確かに、すべての依存するアセンブリはフォルダーにあります。 – Manu

答えて

1

解決するには、例外をキャッチする必要があります。これは、見つからない参照からIO許可などに至るまでのすべてのものに起因する可能性があります。

簡単に知るには、Main()をtry-catchでラップし、エラーのメッセージボックスを表示します。

[STAThread] 
     static void Main() 
     { 
      try 
      { 
       Application.EnableVisualStyles(); 
       Application.SetCompatibleTextRenderingDefault(false); 
       Application.Run(new Form1()); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.ToString()); 
      } 
     } 

推奨されるソリューションは、生産に入る前に、log4netかのような強固なロギングのいくつかの種類を実装することであろう。

関連する問題