Remove .NET 10 assemblies from container to fix v24 BC compilation - #634
Closed
Sun Haoran (haoranpb) with Copilot wants to merge 2 commits into
Closed
Remove .NET 10 assemblies from container to fix v24 BC compilation#634Sun Haoran (haoranpb) with Copilot wants to merge 2 commits into
Sun Haoran (haoranpb) with Copilot wants to merge 2 commits into
Conversation
Agent-Logs-Url: https://github.com/microsoft/BC-Bench/sessions/f8b34928-7d8b-4c37-9339-19ecfd1e1e5d Co-authored-by: haoranpb <27280733+haoranpb@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Start implementation of workaround for BC-Bench pipeline
Remove .NET 10 assemblies from container to fix v24 BC compilation
Apr 30, 2026
Sun Haoran (haoranpb)
deleted the
copilot/implement-compatibility-workaround
branch
April 30, 2026 11:10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
.NET 10 added a
TimeSpan.FromSeconds(int64)overload that creates ambiguity with the existingFromSeconds(double)overload. Older BC code (v24, e.g.DocExchServiceMgt.Codeunit.alin BaseApp) callsFromSecondswith an integer literal, which the AL compiler can no longer resolve unambiguously — causing build failures.Changes
scripts/BCContainerManagement.psm1— AfterNew-BCContainercompletes inNew-BCContainerSync, remove .NET 10 assemblies from inside the container:This scopes the fix to the container rather than pinning a BCCH version, which was the previous (reverted) approach.
Original prompt
Start implementation
The user has attached the following file paths as relevant context:
- .github\copilot-instructions.md
[Chronological Review: The conversation began with the user requesting assistance in brainstorming solutions for issues encountered in the BC-Bench evaluation pipeline. The user explained the context of using BcContainerHelper and the challenges faced due to the update to .NET dependency and compatibility issues with older versions of the application. The user provided specific error messages and discussed the current state of the infra team's efforts to address related issues, including references to pull requests that were not prioritized. The user sought ideas for potential workarounds or modifications to resolve the blocking issue.][Intent Mapping: The user explicitly requested brainstorming ideas to resolve compatibility issues with older PRs in the BC-Bench evaluation pipeline, stating, "I wonder if I could dynamically change the script so it'd work. Or dynamically inject the manifest.json? Or I could try to modify code directly? Or change .NET thingy? What do you think? Come up with ideas."]
[Technical Inventory: Key technologies mentioned include:
[Code Archaeology: The user referenced specific error messages related to the code in the BaseApp, particularly in the DocExchServiceMgt.Codeunit.al file. The user also mentioned two pull requests from the infra team that aimed to address issues in the container helper but did not resolve the user's current problem.]
[Progress Assessment: The user has identified the problem (blocking tasks due to .NET dependency updates) and has explored potential solutions (dynamic script changes, modifying code, etc.). However, no solutions have been implemented yet.]
[Context Validation: All critical information for continuation is captured, including the user's goals, the specific error encountered, and the context of the infra team's work.]
[Recent Commands Analysis: The last agent commands involved summarizing the conversation history. No specific tool results were executed in this context, as the focus was on capturing the conversation's essence. The immediate pre-summarization state involved the user discussing their brainstorming request and the challenges faced with the BC-Bench evaluation pipeline.]
1. Conversation Overview: - Primary Objectives: The user requested brainstorming ideas to resolve compatibility issues in the BC-Bench evaluation pipeline, specifically stating, "I wonder if I could dynamically change the script so it'd work. Or dynamically inject the manifest.json? Or I could try to modify code directly? Or change .NET thingy?" - Session Context: The conversation began with the user explaining the use of BcContainerHelper and the impact of a .NET dependency update on older PRs, leading to a specific build error. The user discussed the infra team's lack of prioritization on this issue and sought alternative solutions. - User Intent Evolution: The user's needs evolved from seeking clarification on the problem to actively brainstorming potential solutions and workarounds.- Technical Foundation:
- BcContainerHelper: A tool used in the evaluation pipeline for building and running tests.
- .NET: Updated to v10, causing compatibility issues with older versions (v24).
- System Application: The error message indicates method conflicts in the System.TimeSpan class.
- Codebase Status:
- File Name: DocExchServiceMgt.Codeunit.al
- Purpose: Contains code related to the BaseApp's eServices.
- Current State: Encountering build errors due to method ambiguity.
- Key Code Segments: The error message indicates ambiguity between 'FromSeconds(DotNet "System.Double")' and 'FromSeconds(DotNet "System.Int64")'.
- Dependencies: The file relies on the System.TimeSpan class from the .NET framework.
- Problem Resolution:
- Issues Encountered: Compatibility issues due to .NET dependency updates blocking tasks for v24.
- Solutions Implemented: None yet; the user is exploring potential workarounds.
- Debugging Context: The user is considering dynamic script changes or direct code modifications.
- Lessons Learned: The user has identified the limitations of the current infrastructure team's focus on other priorities.
- Progress Tracking:
- Completed Tasks: Identification of the compatibility issue and error message.
- Partially Complete Work: Exploration of potential solutions is ongoing.
- Validated Outcomes: No features confirmed working due to the blocking issue.
- Active Work State:
- Current Focus: The user is brainstorming solutions to the compatibility issue in the BC-Bench evaluation pipeline.
- R...
Created from VS Code.