[Feature Request] I only want the .NET upgrade analysis and NOT appcat analysis
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 55/100
Research direction
Start with assessment-config.yaml and trace the Stage 4 .NET assessment entry point through the AppCAT invocation. Check how the dotnet-upgrade domain is selected and how assessment failures are reported. Done means a batch assessment can run the .NET upgrade analysis without requiring AppCAT analysis.
Written by the indexing model from the issue text.
Description
I'm on Mac OS attempting to run a batch assessment to upgrade our .NET framework projects to .NET 10. Unfortunately I can't do this because the appcat analysis fails when it tries to build the .NET Framework project (see log below).
I would love a way to just be able to do the .NET upgrade batch assessment without the appcat analysis.
2026-09-01T20:44:21.988Z [DEBUG] Starting Copilot CLI version validation.
2026-09-01T20:44:21.997Z [DEBUG] [Copilot SDK] Starting Copilot client
2026-09-01T20:44:22.010Z [DEBUG] [Copilot SDK] CopilotClient.StartCliServerAsync starting Copilot CLI. CliPath=/opt/homebrew/Cellar/modernize/1.0.74/libexec/runtimes/osx-arm64/native/copilot, Executable=/opt/homebrew/Cellar/modernize/1.0.74/libexec/runtimes/osx-arm64/native/copilot, CliPathSource=Bundled, UseStdio=True, Port=(null)
2026-09-01T20:44:22.027Z [DEBUG] [Copilot SDK] CopilotClient.StartCliServerAsync subprocess spawned. Elapsed=00:00:00.0170557
2026-09-01T20:44:22.036Z [DEBUG] [Copilot SDK] CopilotClient.ConnectToServerAsync transport setup complete. Elapsed=00:00:00.0070910
2026-09-01T20:44:22.036Z [DEBUG] [Copilot SDK] CopilotClient.StartAsync transport setup complete. Elapsed=00:00:00.0389216
2026-09-01T20:44:22.786Z [DEBUG] [Copilot SDK] JsonRpc.InvokeAsync JSON-RPC request finished. Elapsed=00:00:00.7479200, Method=connect, RequestId=1, Status=Succeeded
2026-09-01T20:44:22.786Z [DEBUG] [Copilot SDK] CopilotClient.VerifyProtocolVersionAsync protocol handshake complete. Elapsed=00:00:00.7494006, ProtocolVersion=3, UsedFallbackPing=False
2026-09-01T20:44:22.786Z [DEBUG] [Copilot SDK] CopilotClient.StartAsync protocol verification complete. Elapsed=00:00:00.7889275
2026-09-01T20:44:22.787Z [DEBUG] [Copilot SDK] CopilotClient.StartAsync complete. Elapsed=00:00:00.7891407
2026-09-01T20:44:22.787Z [DEBUG] GetVersionFromSdkAsync: Calling GetStatusAsync.
2026-09-01T20:44:22.788Z [DEBUG] [Copilot SDK] JsonRpc.InvokeAsync JSON-RPC request finished. Elapsed=00:00:00.0012989, Method=status.get, RequestId=2, Status=Succeeded
2026-09-01T20:44:22.789Z [DEBUG] GetVersionFromSdkAsync: GetStatusAsync returned Version='1.0.57'.
2026-09-01T20:44:22.789Z [DEBUG] Raw version string from SDK: '1.0.57'.
2026-09-01T20:44:22.789Z [DEBUG] Parsed Copilot CLI version: 1.0.57.
2026-09-01T20:44:23.485Z [DEBUG] [Copilot SDK] JsonRpc.InvokeAsync JSON-RPC request finished. Elapsed=00:00:00.6955556, Method=auth.getStatus, RequestId=3, Status=Succeeded
2026-09-01T20:44:24.547Z [DEBUG] [Copilot SDK] JsonRpc.InvokeAsync JSON-RPC request finished. Elapsed=00:00:01.0598305, Method=models.list, RequestId=4, Status=Succeeded
2026-09-01T20:44:24.563Z [INFO] Using explicit assessment config: /Users/me/dev/projects/modernise-dotnet/assessment-config.yaml
2026-09-01T20:44:24.608Z [INFO] Loaded assessment config root from /Users/me/dev/projects/modernise-dotnet/assessment-config.yaml
2026-09-01T20:44:24.610Z [INFO] === Stage 1: Input Parsing ===
2026-09-01T20:44:24.610Z [INFO] === Stage 2: Source Resolution ===
2026-09-01T20:44:24.614Z [INFO] Found 1 repo(s) from source resolution.
2026-09-01T20:44:24.615Z [INFO] === Stage 3: Prepare ===
2026-09-01T20:44:24.616Z [INFO] === Preparing local repo 'Foo' at /Users/me/dev/projects/modernise-dotnet/repos/Foo/project/Foo ===
2026-09-01T20:44:24.617Z [INFO] 1/1 repo(s) ready.
2026-09-01T20:44:24.618Z [INFO] 1/1 repo(s) ready for assessment.
2026-09-01T20:44:24.621Z [INFO] === Stage 4: Assess ===
2026-09-01T20:44:24.627Z [INFO] === [1/1] Assessing repository: Foo ===
2026-09-01T20:44:24.628Z [INFO] === Assessing repo 'Foo' (DotNet) ===
2026-09-01T20:44:24.629Z [INFO] Starting .NET assessment for /Users/me/dev/projects/modernise-dotnet/repos/Foo/project/Foo
2026-09-01T20:44:24.630Z [INFO] Archived engines directory to /Users/me/dev/projects/modernise-dotnet/repos/Foo/project/Foo/.github/modernize/assessment/history/20260901204320
2026-09-01T20:44:24.631Z [INFO] Running AppCAT for .NET
2026-09-01T20:44:24.634Z [INFO] [Foo] Assessing...
2026-09-01T20:44:24.655Z [INFO] Detected project language: .NET
2026-09-01T20:44:24.655Z [INFO] Auto-detected solution: /Users/me/dev/projects/modernise-dotnet/repos/Foo/project/Foo/Foo.sln
2026-09-01T20:44:24.656Z [INFO] Ensuring .NET AppCAT is installed...
2026-09-01T20:44:24.864Z [INFO] .NET SDK version 10 detected (supported)
2026-09-01T20:44:24.864Z [INFO] Using dotnet from: /usr/local/share/dotnet
2026-09-01T20:44:24.864Z [INFO] Dotnet executable: /usr/local/share/dotnet/dotnet
2026-09-01T20:44:25.095Z [INFO] === Running Assessment... ===
2026-09-01T20:44:25.109Z [INFO] Using assessment config with domains: dotnet-upgrade
2026-09-01T20:44:25.110Z [INFO] Configuring environment for .NET AppCAT. DOTNET_ROOT=/usr/local/share/dotnet
2026-09-01T20:44:25.110Z [INFO] Starting AppCAT analysis...
2026-09-01T20:44:27.220Z [INFO] AppCAT: Building project '/Users/me/dev/projects/modernise-dotnet/repos/Foo/project/Foo.Tests/Foo.Tests.csproj'...
2026-09-01T20:44:28.790Z [INFO] AppCAT: Building project '/Users/me/dev/projects/modernise-dotnet/repos/Foo/project/Foo.Integration.Tests/Foo.Integration.Tests.csproj'...
2026-09-01T20:44:30.311Z [INFO] AppCAT: Building project '/Users/me/dev/projects/modernise-dotnet/repos/Foo/project/Foo.Soa/Foo.Soa.csproj'...
2026-09-01T20:44:32.546Z [INFO] AppCAT: Building project '/Users/me/dev/projects/modernise-dotnet/repos/Foo/project/Foo/Foo.Library/Foo.Library.csproj'...
2026-09-01T20:44:34.826Z [ERROR] Assessment process completed but report file was not generated
2026-09-01T20:44:34.855Z [WARN] Repo 'Foo': assessment failed (exit 99).
2026-09-01T20:44:34.856Z [WARN] Repo 'Foo': assessment failed (exit 99).
2026-09-01T20:44:34.861Z [INFO] [Foo] Failed
2026-09-01T20:44:34.875Z [WARN] Repo 'Foo' assessment failed: Assessment tool exited with code 99.
2026-09-01T20:44:34.875Z [ERROR] All repos failed assessment. No reports can be generated.
Modernize Version: 1.0.74+2ef08a34f9dd25079a0528c9f99c6ea8b25de6c6
- Dominant language
- Shell
- Stars
- 20
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/modernize-cli
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
microsoft/modernize-cli#50 ·
-
microsoft/modernize-cli#49 · 3 assignees ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
microsoft/modernize-cli#34 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
microsoft/modernize-cli#33 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
microsoft/modernize-cli#32 · 1 comment ·
All issues in microsoft/modernize-cli
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
danielmiessler/LifeOS#2218 ·
-
docs(agents): strengthen the no-backslash-escaped-backticks rule with an issue-creation example Open
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
technical-debt
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
ll7/robot_sf_ll7#9560 ·
-
package-update
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
oSoWoSo/vOid_Community_repOsitory#148 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100