Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 18, 2026

Recent Arcade SDK updates (~11.0.0-beta.26055.1+) changed XliffTasks import conditions, causing UpdateXlf target to be unavailable for net10.0 builds. ILVerify only verifies IL and doesn't need localization updates.

Changes

Set the UpdateXlfOnBuild environment variable in tests/ILVerify/ilverify.ps1 to disable the UpdateXlf target:

 [string] $script = if ($IsWindows) { Join-Path $repo_path "build.cmd" } else { Join-Path $repo_path "build.sh" }
 [string] $additional_arguments = if ($IsWindows) { "-noVisualStudio" } else { "" }
 
+# Set environment variable to disable UpdateXlf target (not needed for IL verification)
+$env:UpdateXlfOnBuild = "false"
+
 # Set configurations to build

This approach uses an environment variable to ensure the property is properly recognized by MSBuild and the Arcade SDK, skipping the UpdateXlf target for both Windows and non-Windows builds during IL verification.

Original prompt

Problem

The ILVerify CI leg is failing with:

D:\a\_work\1\s\src\Compiler\FSharp.Compiler.Service.fsproj : error MSB4057: The target "UpdateXlf" does not exist in the project. [TargetFramework=net10.0]

This started happening recently due to Arcade SDK updates that changed how XliffTasks targets are imported for net10.0 builds.

Root Cause

The ilverify.ps1 script builds FSharp.Compiler.Service for both netstandard2.0 and net10.0 target frameworks. Recent Arcade SDK updates (around 11.0.0-beta.26055.1 and later) changed the import conditions for XliffTasks, causing the UpdateXlf target to not be available when building for net10.0.

The ILVerify job doesn't need localization file updates - it only needs to build the assemblies to verify their IL.

Solution

Modify tests/ILVerify/ilverify.ps1 to pass -p:UpdateXlfOnBuild=false to the build script invocation to disable XLF updates during the ILVerify build.

Changes Required

In tests/ILVerify/ilverify.ps1, around line 30, change:

[string] $additional_arguments = if ($IsWindows) { "-noVisualStudio" } else { "" }

To:

[string] $additional_arguments = if ($IsWindows) { "-noVisualStudio -p:UpdateXlfOnBuild=false" } else { "-p:UpdateXlfOnBuild=false" }

This ensures that both Windows and non-Windows builds skip the UpdateXlf target, which is not needed for IL verification.

This pull request was created from Copilot chat.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI changed the title [WIP] Fix ILVerify build target to disable XLF updates Fix ILVerify CI failure: disable UpdateXlf target for net10.0 builds Jan 18, 2026
Copilot AI requested a review from T-Gro January 18, 2026 20:44
Copilot AI requested a review from T-Gro January 19, 2026 10:47
@T-Gro T-Gro marked this pull request as ready for review January 19, 2026 11:08
@T-Gro T-Gro requested review from a team as code owners January 19, 2026 11:08
@github-actions
Copy link
Contributor

✅ No release notes required

@T-Gro T-Gro enabled auto-merge (squash) January 19, 2026 12:07
@T-Gro T-Gro requested a review from abonie January 19, 2026 12:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants