VisualStudio2022で、.NET Frameworkを使ったC#のFormアプリを、x64ターゲットでデバッグ開始ができない

Ueoka Yuko (上岡 祐子) 20 評価のポイント
2025-02-14T11:19:48.2133333+00:00

.NETFrameworkを使ったC#のFormアプリを、ターゲットCPUをx64に指定してデバッグ実行を開始すると、「プロジェクトを実行しようとしているときにエラーが発生しました。プログラム'(exeパス)'を開始できません。プロセスは中止されました。アタッチをもう一度行う前に、プロセスリストを更新してください。」とエラーが表示されます。

上記エラーが発生したタイミングで、イベントログ(Applicationログ)に「アプリケーションクラッシュイベント」が出力されています。

また、ネイティブデバッグを有効にしてデバッグ開始すると、「ntdll.dll で例外がスローされました:0xC0000005:場所 0x0000000000000000への書き込み中にアクセス違反が発生しました」と例外が発生します。

以下のように条件を変えてみるとデバッグ起動はできました。

・.NET Frameworkを使わないFormアプリやコンソールアプリではデバッグ実行可。

・ターゲットCPUをAnyCPUにしてもデバッグ実行可。

・ビルドにより生成されたexeを直接たたいて実行も可。

・同じソリューションを他のPCにコピーして、同じ条件でのデバッグ実行可。

新規にソリューションを作ってすぐの状態でも発生するので、ソースコードの問題ではなく、環境の問題ではないかと思います。

この問題への対処法や回避方法をご存じでしたら、教えていただけますでしょうか?

Visual Studio
Visual Studio
Windows、Web、モバイル デバイス用のアプリケーションを構築するための統合開発ツールの Microsoft スイートのファミリ。
116 件の質問
0 件のコメント コメントはありません
{count} 件の投票

承認済みの回答
  1. gekka 10,981 評価のポイント MVP
    2025-02-14T14:24:05.8133333+00:00

    近そうな現象は見つかりますが未解決。
    書かれている症状からしても、かなり環境依存してそうなので問題の再現は難しそう。

    デバッグ実行でなければ実行できるなら、以下のように実行後にデバッガにアタッチするようにして、デバッグ実行(F5)ではなくデバッグなしで実行(Ctrl+F5)すれば回避できるかもしれない。

    sing System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace WindowsFormsApp1
    {
        internal static class Program
        {
            /// <summary>
            /// アプリケーションのメイン エントリ ポイントです。
            /// </summary>
            [STAThread]
            static void Main()
            {
    #if DEBUG
                if (!System.Diagnostics.Debugger.IsAttached)
                {
                    System.Diagnostics.Debugger.Launch();
                    //System.Diagnostics.Debugger.Break();
                }
    #endif
    
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
        }
    }
    
    
    1 人がこの回答が役に立ったと思いました。

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Ueoka Yuko (上岡 祐子) 20 評価のポイント
    2025-02-17T02:04:37.7233333+00:00

    ありがとうございます!

    ご提示いただいたコードを追記してデバッグなしで実行

    →「xxx.exeでハンドルされていない Microsoft .NET Framework の例外が発生しました。」ダイアログが表示

    →利用可能なデバッガーで、対象プロジェクトの方を選択

    で、既存プロジェクトのステップ実行が可能になりました。

    リンク先のスレッドも確認いたしました。問題が修正されるまで、この方法で乗り切ります。(私の環境はVersion 17.13.0なのですが、まだ未対応のようですね・・)

    0 件のコメント コメントはありません

お客様の回答

回答は、質問作成者が [承諾された回答] としてマークできます。これは、ユーザーが回答が作成者の問題を解決したことを知るのに役立ちます。