すべてのファイルをデバッグ(またはリリース)フォルダからコピーしてどこかに貼り付けると、開いていないプロセスが消えてメッセージが表示されなくなります。とにかく、デバッグやリリースのフォルダではすべてがうまくいくようです。何か案は?.NETアプリケーションのみがデバッグフォルダ内で動作しています
アセンブリファイルを実行しようとしているので、私はそれをデバッグできません。
すべてのファイルをデバッグ(またはリリース)フォルダからコピーしてどこかに貼り付けると、開いていないプロセスが消えてメッセージが表示されなくなります。とにかく、デバッグやリリースのフォルダではすべてがうまくいくようです。何か案は?.NETアプリケーションのみがデバッグフォルダ内で動作しています
アセンブリファイルを実行しようとしているので、私はそれをデバッグできません。
アセンブリやアクセス権などが不足していると問題が発生する可能性があります。実行するかどうかをVisual Studio内からデバッグするには、次のリンクを参照してプロセスに接続する方法を示しますスタジオデバッガ。
How to: Debug an Executable Not Part of a Visual Studio Solution
Attaching to Running Processes
解決するには、例外をキャッチする必要があります。これは、見つからない参照から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かのような強固なロギングのいくつかの種類を実装することであろう。
あなたはすべての依存関係を使用していますか?ネイティブ(C/COM/C++)コンポーネントに依存するサードパーティライブラリ –
関連するアセンブリをすべてコピーしていますか?エラーメッセージが出ていますか?おそらく、デプロイメント手法に欠陥があります。つまり、レガシーアプリケーション/アンマネージコード/実行可能ファイルのデプロイに使用している方法です。フォルダーをデバッガーの外に移動し、何が起こるかを確認してください。 – MethodMan
確かに、すべての依存するアセンブリはフォルダーにあります。 – Manu