Skip to content

Instantly share code, notes, and snippets.

@BenVillalobos
BenVillalobos / Commits Where I learned Something
Last active Apr 8, 2021
Commits where I learned something
View Commits Where I learned Something
Turning chars into its integer hex representation: https://github.com/dotnet/msbuild/pull/6227/commits/abdbd9f0eef87c0904166900617fa378b636ec60
More insight on how MSBuild logging works: https://github.com/dotnet/msbuild/pull/6326
@BenVillalobos
BenVillalobos / msbuilddebugcomm.md
Created Jul 21, 2020
Debugging Node Communication in MSBuild
View msbuilddebugcomm.md

Debugging Node Communication in MSBuild

To capture logs of how MSBuild nodes talk to each other:

  1. Set MSBUILDDEBUGCOMM=1
  2. Set MSBUILDDEBUGPATH=<some_folder_path>
  3. Run your scenario
  4. The node communication traces should exist in the folder you specified.
@BenVillalobos
BenVillalobos / TargetFrameworkIdentifiers.md
Last active May 26, 2020
Known values for TargetFrameworkIdentifier
View TargetFrameworkIdentifiers.md

[5/21 4:03 PM] David Kean The format is; [Identifier], Version=v[Version], Profile=[Profile] where profile is optional.

Valid identifier values off the top my head:

Silverlight

CompactFX

.NETFramework

@BenVillalobos
BenVillalobos / ManifestResourceNaming.md
Last active Feb 24, 2021
How MSBuild Manifest Resource Naming Works
View ManifestResourceNaming.md

Manifest Resource Names and You!

For explicit information on how resource names are chosen, see this dotnet docs issue.

This gist is meant to be a slightly higher level explanation on how resource names are used. Mostly I'm just documenting as much context as possible before I forget.

So we start with some Foo.resx

That Foo.resx will get passed to a few tasks in different forms throughout the build.

Relevant tasks: