Skip to content

A double hyphen in an XML comment made the targets file unloadable - #23

Merged
jcant0n merged 1 commit into
mainfrom
fix-the-broken-xml-comment
Aug 8, 2026
Merged

A double hyphen in an XML comment made the targets file unloadable#23
jcant0n merged 1 commit into
mainfrom
fix-the-broken-xml-comment

Conversation

@jcant0n

@jcant0n jcant0n commented Aug 8, 2026

Copy link
Copy Markdown
Member
MSB4024: The imported project file ... could not be loaded

XML forbids -- inside a comment, and line 42 had one. A targets file that does not parse is not skipped — it stops the import, so every consumer failed on every platform. The last CD run lost all eight smoke legs to it, including the five that had nothing to do with the change.

The comment now says the same thing without the hyphens.

Nothing in CI could have caught it

The common workflow builds the binding project and packs it. The targets file is only read by a consumer, so a malformed one passes every check in the repository and breaks downstream, with an error naming the consumer rather than the file.

Five repositories in the fleet ship one of these: Cesium.NET, JoltPhysics.NET, Vuforia.NET, ImGui.Net, KTX.NET and WebGPU.NET. A parse check in binding-common-ci.yml is the follow-up, and it is worth considerably more than this one-line fix.

  MSB4024: The imported project file ... could not be loaded

XML forbids "--" inside a comment, and line 42 had one. A targets file
that does not parse is not skipped, it stops the import, so every
consumer of the package failed on every platform. The last CD run lost
all eight smoke legs to it, including the five that had nothing to do
with the change.

The comment now says the same thing without the hyphens.

Nothing in CI could have caught this. The common workflow builds the
binding project and packs it; the targets file is only read by a
consumer, so a malformed one passes every check in the repository and
breaks downstream, with an error naming the consumer rather than the
file. Five repositories in the fleet ship one of these. A parse check in
the toolbox is the follow-up, and it is worth more than this fix.
@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

API gate: additive

Every symbol that existed still exists, unchanged. Nothing that compiled before stops compiling.

Target framework Added Removed
net10.0-ios +0 -0
net10.0 +0 -0

Enum and constant values are part of the measured surface: a renumbering keeps compiling and sends the wrong number to the driver, so it counts as a removal.

@jcant0n
jcant0n merged commit 9abba49 into main Aug 8, 2026
4 checks passed
@jcant0n
jcant0n deleted the fix-the-broken-xml-comment branch August 8, 2026 22:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant