Skip to content

Microbuild Additions - #7

Closed
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild
Closed

Microbuild Additions#7
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild

Conversation

@333fred

Copy link
Copy Markdown
Member

This adds the nuget dependency for building on MicroBuild, as well as installing our dotnet cli to the auto-cleaned folder when running on MicroBuild. Tagging @eerhardt for review. @basoundr, is there anything you can think of that we're missing for building?

@@ -1,5 +1,6 @@
{
"dependencies": {
"MicroBuild.Core": "0.2.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes me nervous that our official product assembly needs to depend on MicroBuild. Is this how other projects work in Roslyn?

@333fred333fredAug 3, 2016

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But isn't the difference that there is just a random "toolset" project that depends on MicroBuild.Core, and here we are making our actual shipping assembly's project depend on MicroBuild.Core? The equivalent in my mind would be if https://github.com/dotnet/roslyn-project-system/tree/master/src/Microsoft.VisualStudio.ProjectSystem.Managed had a direct dependency on MicroBuild.Core.

@basoundr

Copy link
Copy Markdown
Contributor

This is only part of the change. We still need more Microbuild related things to get this project built in Microbuild. This Commit in Roslyn-PS is good starting point.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug
Updated definitions to not include HTML results.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot retest Windows Release

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Choose>
<When Condition="'$(ProjectLanguage)' == 'VB'">

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure we need this VB stuff, so we?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or C++ or portable.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I doubt we need it either, I've been copying from the Roslyn-project-system, and committed and pushed last night before I left. Still some more cleanup to do.

Comment threadDirectory.Build.props

<VersionPrefix Condition="'$(VersionPrefix)' == ''">1.0.0</VersionPrefix>
<!-- When running on Microbuild, this is set to "ymmdd.n". -->
<VersionSuffix Condition="'$(VersionSuffix)' == ''">$(BuildVersion)</VersionSuffix>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing to be careful about here is that nuget versions can't have a number as the first character after the -. So you always need some sort of alpha letter to start the prerelease ($(VersionSuffix)) part. Typically things like alpha, beta, preview, etc. These prerelease prefixes are usually checked into the repo, like the major, minor and patch numbers are.

@333fred

Copy link
Copy Markdown
MemberAuthor

Because microbuild relies on the desktop version of msbuild, and we're running with the xplat version, we're not going to be able to use it directly. I'll be looking into how roslyn is doing signing, since they have to deal with this issue as well. I'll submit a new PR when I have something ready to review.

@333fred333fred closed this Aug 10, 2016
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 5, 2026
Changes include:
- Rename 'managed installations' to 'tracked installations' (dotnet#10)
- Fix '.metadata' -> 'metadata' folder name (dotnet#18)
- Include component type in error/warning messages (dotnet#11)
- Remove component spec from runtime update (dotnet#12)
- Remove GetInstallations wrapper (dotnet#6)
- ScopedMutex throws TimeoutException on failure (dotnet#22)
- Make InstallResult.Install non-nullable (dotnet#17)
- Remove ComponentFilesExist shortcut (dotnet#19)
- Wire up InstallSource enum (dotnet#21)
- ListCommand: enum types, narrowed mutex, read-only verify, spacing (dotnet#3,dotnet#4,dotnet#5,#1)
- Show global.json path in list output (dotnet#15)
- Add doc comments to ListData types (dotnet#7)
- Move SourceOption to CommonOptions, remove alias fields (dotnet#9)
- Remove ResolveChannelFromGlobalJson test hook wrapper (dotnet#14)
- Root 'dotnetup update' updates all components (dotnet#16)
- GlobalJsonChannelResolver: support rollForward policy (dotnet#13)
- Error when installing to unmanaged dotnet root (dotnet#20)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 6, 2026
Changes include:
- UpdateWorkflow.Execute returns non-zero exit code on failure (#1)
- InfoCommand JSON output includes InstallSpecs (dotnet#2)
- Wire --update-global-json through SdkUpdateCommand to UpdateWorkflow (dotnet#3)
- Implement DotnetInstallManager.UpdateGlobalJson using Utf8JsonReader (dotnet#3)
- Fix ResolveEntryDestPath to use normalized entry name (dotnet#4)
- Fix test: MajorMinor test uses correct channel '9.0' (dotnet#5)
- Fix test: LTS assertion checks Major instead of Minor (dotnet#6)
- Fix ScopedMutex.Dispose to not leak mutex on ReleaseMutex throw (dotnet#7)
- Make CommonOptions fields static readonly (dotnet#9)
- Remove unused --no-progress from uninstall parsers (dotnet#10)
- GarbageCollector catches Exception instead of just IOException (dotnet#11)
- Capitalize 'SDK' in SdkCommandParser description (dotnet#12)
- Eliminate redundant manifest reads in InstallerOrchestratorSingleton (dotnet#13)
- Fix STS test error message to say 'major' not 'minor' (dotnet#14)
- Make DotnetupUtilities.ExeSuffix readonly (dotnet#16)
- Fix FormatBytes to use floating-point with one decimal (dotnet#17)
- Remove dead ReleaseManifest variable in DotnetInstaller (dotnet#18)
- Make UpdateChannel.Name immutable (dotnet#19)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mmitche added a commit that referenced this pull request Mar 18, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Evangelink added a commit to Evangelink/sdk that referenced this pull request Aug 3, 2026
…s manifest
testfx split TerminalTestReporter.Summary.cs into focused partials
(microsoft/testfx#10387), adding four upstream paths that the
dotnet-test-terminal-reporter entry does not list. Until they are tracked,
edits to the coverage, discovery, flaky-test and slowest-test rendering are
invisible to the drift detector.
The new sources are appended rather than sorted into the list: the drift bot
keys issue identity on the positional source index, so inserting would orphan
the open issues for .Summary.cs (dotnet#7) and .TestCompletion.cs (dotnet#8) and file
duplicates at the shifted positions. Document that sources is append-only.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b8858a93-4a8d-4028-b0db-c221ef158206
manodasanW pushed a commit to manodasanW/dotnet-sdk that referenced this pull request Aug 4, 2026
microsoft/testfx#10387 split TerminalTestReporter.Summary.cs into focused
partials, adding Coverage, FlakyTests, SlowestTests and TestDiscovery. Upstream
includes the folder with a glob, so nothing flagged the addition here and edits
to those four files were invisible to the drift detector
(microsoft/testfx#10390).
Append the four paths to the dotnet-test-terminal-reporter entry, baselined at
the split commit acb5bafaa2. They are appended rather than sorted in because the
tracking-issue marker keys on the source index, and dotnet#7 (Summary) and dotnet#8
(TestCompletion) have open issues (dotnet#55472, dotnet#55473) that inserting would orphan.
Those two keep their old baselines: their drift is real, unported feature work
(retry/flaky accounting, in-process retry attribution), not just the move.
Also bump source #0 (TerminalTestReporter.cs): the only upstream change since
its baseline is a <remarks> comment describing upstream's partial layout, which
needs no port into the SDK's single-file fork.
Document both gotchas in eng/vendored-files.md.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3328d629-8443-45a7-8ee2-97d3ce23dee5
Sign up for freeto 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.

3 participants

@333fred@basoundr@eerhardt
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Microbuild Additions by 333fred · Pull Request #7 · dotnet/sdk · GitHub
Skip to content

Microbuild Additions - #7

Closed
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild
Closed

Microbuild Additions#7
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild

Conversation

@333fred

Copy link
Copy Markdown
Member

This adds the nuget dependency for building on MicroBuild, as well as installing our dotnet cli to the auto-cleaned folder when running on MicroBuild. Tagging @eerhardt for review. @basoundr, is there anything you can think of that we're missing for building?

@@ -1,5 +1,6 @@
{
"dependencies": {
"MicroBuild.Core": "0.2.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes me nervous that our official product assembly needs to depend on MicroBuild. Is this how other projects work in Roslyn?

@333fred333fredAug 3, 2016

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But isn't the difference that there is just a random "toolset" project that depends on MicroBuild.Core, and here we are making our actual shipping assembly's project depend on MicroBuild.Core? The equivalent in my mind would be if https://github.com/dotnet/roslyn-project-system/tree/master/src/Microsoft.VisualStudio.ProjectSystem.Managed had a direct dependency on MicroBuild.Core.

@basoundr

Copy link
Copy Markdown
Contributor

This is only part of the change. We still need more Microbuild related things to get this project built in Microbuild. This Commit in Roslyn-PS is good starting point.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug
Updated definitions to not include HTML results.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot retest Windows Release

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Choose>
<When Condition="'$(ProjectLanguage)' == 'VB'">

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure we need this VB stuff, so we?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or C++ or portable.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I doubt we need it either, I've been copying from the Roslyn-project-system, and committed and pushed last night before I left. Still some more cleanup to do.

Comment threadDirectory.Build.props

<VersionPrefix Condition="'$(VersionPrefix)' == ''">1.0.0</VersionPrefix>
<!-- When running on Microbuild, this is set to "ymmdd.n". -->
<VersionSuffix Condition="'$(VersionSuffix)' == ''">$(BuildVersion)</VersionSuffix>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing to be careful about here is that nuget versions can't have a number as the first character after the -. So you always need some sort of alpha letter to start the prerelease ($(VersionSuffix)) part. Typically things like alpha, beta, preview, etc. These prerelease prefixes are usually checked into the repo, like the major, minor and patch numbers are.

@333fred

Copy link
Copy Markdown
MemberAuthor

Because microbuild relies on the desktop version of msbuild, and we're running with the xplat version, we're not going to be able to use it directly. I'll be looking into how roslyn is doing signing, since they have to deal with this issue as well. I'll submit a new PR when I have something ready to review.

@333fred333fred closed this Aug 10, 2016
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 5, 2026
Changes include:
- Rename 'managed installations' to 'tracked installations' (dotnet#10)
- Fix '.metadata' -> 'metadata' folder name (dotnet#18)
- Include component type in error/warning messages (dotnet#11)
- Remove component spec from runtime update (dotnet#12)
- Remove GetInstallations wrapper (dotnet#6)
- ScopedMutex throws TimeoutException on failure (dotnet#22)
- Make InstallResult.Install non-nullable (dotnet#17)
- Remove ComponentFilesExist shortcut (dotnet#19)
- Wire up InstallSource enum (dotnet#21)
- ListCommand: enum types, narrowed mutex, read-only verify, spacing (dotnet#3,dotnet#4,dotnet#5,#1)
- Show global.json path in list output (dotnet#15)
- Add doc comments to ListData types (dotnet#7)
- Move SourceOption to CommonOptions, remove alias fields (dotnet#9)
- Remove ResolveChannelFromGlobalJson test hook wrapper (dotnet#14)
- Root 'dotnetup update' updates all components (dotnet#16)
- GlobalJsonChannelResolver: support rollForward policy (dotnet#13)
- Error when installing to unmanaged dotnet root (dotnet#20)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 6, 2026
Changes include:
- UpdateWorkflow.Execute returns non-zero exit code on failure (#1)
- InfoCommand JSON output includes InstallSpecs (dotnet#2)
- Wire --update-global-json through SdkUpdateCommand to UpdateWorkflow (dotnet#3)
- Implement DotnetInstallManager.UpdateGlobalJson using Utf8JsonReader (dotnet#3)
- Fix ResolveEntryDestPath to use normalized entry name (dotnet#4)
- Fix test: MajorMinor test uses correct channel '9.0' (dotnet#5)
- Fix test: LTS assertion checks Major instead of Minor (dotnet#6)
- Fix ScopedMutex.Dispose to not leak mutex on ReleaseMutex throw (dotnet#7)
- Make CommonOptions fields static readonly (dotnet#9)
- Remove unused --no-progress from uninstall parsers (dotnet#10)
- GarbageCollector catches Exception instead of just IOException (dotnet#11)
- Capitalize 'SDK' in SdkCommandParser description (dotnet#12)
- Eliminate redundant manifest reads in InstallerOrchestratorSingleton (dotnet#13)
- Fix STS test error message to say 'major' not 'minor' (dotnet#14)
- Make DotnetupUtilities.ExeSuffix readonly (dotnet#16)
- Fix FormatBytes to use floating-point with one decimal (dotnet#17)
- Remove dead ReleaseManifest variable in DotnetInstaller (dotnet#18)
- Make UpdateChannel.Name immutable (dotnet#19)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mmitche added a commit that referenced this pull request Mar 18, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Evangelink added a commit to Evangelink/sdk that referenced this pull request Aug 3, 2026
…s manifest
testfx split TerminalTestReporter.Summary.cs into focused partials
(microsoft/testfx#10387), adding four upstream paths that the
dotnet-test-terminal-reporter entry does not list. Until they are tracked,
edits to the coverage, discovery, flaky-test and slowest-test rendering are
invisible to the drift detector.
The new sources are appended rather than sorted into the list: the drift bot
keys issue identity on the positional source index, so inserting would orphan
the open issues for .Summary.cs (dotnet#7) and .TestCompletion.cs (dotnet#8) and file
duplicates at the shifted positions. Document that sources is append-only.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b8858a93-4a8d-4028-b0db-c221ef158206
manodasanW pushed a commit to manodasanW/dotnet-sdk that referenced this pull request Aug 4, 2026
microsoft/testfx#10387 split TerminalTestReporter.Summary.cs into focused
partials, adding Coverage, FlakyTests, SlowestTests and TestDiscovery. Upstream
includes the folder with a glob, so nothing flagged the addition here and edits
to those four files were invisible to the drift detector
(microsoft/testfx#10390).
Append the four paths to the dotnet-test-terminal-reporter entry, baselined at
the split commit acb5bafaa2. They are appended rather than sorted in because the
tracking-issue marker keys on the source index, and dotnet#7 (Summary) and dotnet#8
(TestCompletion) have open issues (dotnet#55472, dotnet#55473) that inserting would orphan.
Those two keep their old baselines: their drift is real, unported feature work
(retry/flaky accounting, in-process retry attribution), not just the move.
Also bump source #0 (TerminalTestReporter.cs): the only upstream change since
its baseline is a <remarks> comment describing upstream's partial layout, which
needs no port into the SDK's single-file fork.
Document both gotchas in eng/vendored-files.md.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3328d629-8443-45a7-8ee2-97d3ce23dee5
Sign up for freeto 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.

3 participants

@333fred@basoundr@eerhardt
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Microbuild Additions by 333fred · Pull Request #7 · dotnet/sdk · GitHub
Skip to content

Microbuild Additions - #7

Closed
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild
Closed

Microbuild Additions#7
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild

Conversation

@333fred

Copy link
Copy Markdown
Member

This adds the nuget dependency for building on MicroBuild, as well as installing our dotnet cli to the auto-cleaned folder when running on MicroBuild. Tagging @eerhardt for review. @basoundr, is there anything you can think of that we're missing for building?

@@ -1,5 +1,6 @@
{
"dependencies": {
"MicroBuild.Core": "0.2.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes me nervous that our official product assembly needs to depend on MicroBuild. Is this how other projects work in Roslyn?

@333fred333fredAug 3, 2016

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But isn't the difference that there is just a random "toolset" project that depends on MicroBuild.Core, and here we are making our actual shipping assembly's project depend on MicroBuild.Core? The equivalent in my mind would be if https://github.com/dotnet/roslyn-project-system/tree/master/src/Microsoft.VisualStudio.ProjectSystem.Managed had a direct dependency on MicroBuild.Core.

@basoundr

Copy link
Copy Markdown
Contributor

This is only part of the change. We still need more Microbuild related things to get this project built in Microbuild. This Commit in Roslyn-PS is good starting point.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug
Updated definitions to not include HTML results.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot retest Windows Release

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Choose>
<When Condition="'$(ProjectLanguage)' == 'VB'">

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure we need this VB stuff, so we?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or C++ or portable.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I doubt we need it either, I've been copying from the Roslyn-project-system, and committed and pushed last night before I left. Still some more cleanup to do.

Comment threadDirectory.Build.props

<VersionPrefix Condition="'$(VersionPrefix)' == ''">1.0.0</VersionPrefix>
<!-- When running on Microbuild, this is set to "ymmdd.n". -->
<VersionSuffix Condition="'$(VersionSuffix)' == ''">$(BuildVersion)</VersionSuffix>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing to be careful about here is that nuget versions can't have a number as the first character after the -. So you always need some sort of alpha letter to start the prerelease ($(VersionSuffix)) part. Typically things like alpha, beta, preview, etc. These prerelease prefixes are usually checked into the repo, like the major, minor and patch numbers are.

@333fred

Copy link
Copy Markdown
MemberAuthor

Because microbuild relies on the desktop version of msbuild, and we're running with the xplat version, we're not going to be able to use it directly. I'll be looking into how roslyn is doing signing, since they have to deal with this issue as well. I'll submit a new PR when I have something ready to review.

@333fred333fred closed this Aug 10, 2016
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 5, 2026
Changes include:
- Rename 'managed installations' to 'tracked installations' (dotnet#10)
- Fix '.metadata' -> 'metadata' folder name (dotnet#18)
- Include component type in error/warning messages (dotnet#11)
- Remove component spec from runtime update (dotnet#12)
- Remove GetInstallations wrapper (dotnet#6)
- ScopedMutex throws TimeoutException on failure (dotnet#22)
- Make InstallResult.Install non-nullable (dotnet#17)
- Remove ComponentFilesExist shortcut (dotnet#19)
- Wire up InstallSource enum (dotnet#21)
- ListCommand: enum types, narrowed mutex, read-only verify, spacing (dotnet#3,dotnet#4,dotnet#5,#1)
- Show global.json path in list output (dotnet#15)
- Add doc comments to ListData types (dotnet#7)
- Move SourceOption to CommonOptions, remove alias fields (dotnet#9)
- Remove ResolveChannelFromGlobalJson test hook wrapper (dotnet#14)
- Root 'dotnetup update' updates all components (dotnet#16)
- GlobalJsonChannelResolver: support rollForward policy (dotnet#13)
- Error when installing to unmanaged dotnet root (dotnet#20)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 6, 2026
Changes include:
- UpdateWorkflow.Execute returns non-zero exit code on failure (#1)
- InfoCommand JSON output includes InstallSpecs (dotnet#2)
- Wire --update-global-json through SdkUpdateCommand to UpdateWorkflow (dotnet#3)
- Implement DotnetInstallManager.UpdateGlobalJson using Utf8JsonReader (dotnet#3)
- Fix ResolveEntryDestPath to use normalized entry name (dotnet#4)
- Fix test: MajorMinor test uses correct channel '9.0' (dotnet#5)
- Fix test: LTS assertion checks Major instead of Minor (dotnet#6)
- Fix ScopedMutex.Dispose to not leak mutex on ReleaseMutex throw (dotnet#7)
- Make CommonOptions fields static readonly (dotnet#9)
- Remove unused --no-progress from uninstall parsers (dotnet#10)
- GarbageCollector catches Exception instead of just IOException (dotnet#11)
- Capitalize 'SDK' in SdkCommandParser description (dotnet#12)
- Eliminate redundant manifest reads in InstallerOrchestratorSingleton (dotnet#13)
- Fix STS test error message to say 'major' not 'minor' (dotnet#14)
- Make DotnetupUtilities.ExeSuffix readonly (dotnet#16)
- Fix FormatBytes to use floating-point with one decimal (dotnet#17)
- Remove dead ReleaseManifest variable in DotnetInstaller (dotnet#18)
- Make UpdateChannel.Name immutable (dotnet#19)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mmitche added a commit that referenced this pull request Mar 18, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Evangelink added a commit to Evangelink/sdk that referenced this pull request Aug 3, 2026
…s manifest
testfx split TerminalTestReporter.Summary.cs into focused partials
(microsoft/testfx#10387), adding four upstream paths that the
dotnet-test-terminal-reporter entry does not list. Until they are tracked,
edits to the coverage, discovery, flaky-test and slowest-test rendering are
invisible to the drift detector.
The new sources are appended rather than sorted into the list: the drift bot
keys issue identity on the positional source index, so inserting would orphan
the open issues for .Summary.cs (dotnet#7) and .TestCompletion.cs (dotnet#8) and file
duplicates at the shifted positions. Document that sources is append-only.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b8858a93-4a8d-4028-b0db-c221ef158206
manodasanW pushed a commit to manodasanW/dotnet-sdk that referenced this pull request Aug 4, 2026
microsoft/testfx#10387 split TerminalTestReporter.Summary.cs into focused
partials, adding Coverage, FlakyTests, SlowestTests and TestDiscovery. Upstream
includes the folder with a glob, so nothing flagged the addition here and edits
to those four files were invisible to the drift detector
(microsoft/testfx#10390).
Append the four paths to the dotnet-test-terminal-reporter entry, baselined at
the split commit acb5bafaa2. They are appended rather than sorted in because the
tracking-issue marker keys on the source index, and dotnet#7 (Summary) and dotnet#8
(TestCompletion) have open issues (dotnet#55472, dotnet#55473) that inserting would orphan.
Those two keep their old baselines: their drift is real, unported feature work
(retry/flaky accounting, in-process retry attribution), not just the move.
Also bump source #0 (TerminalTestReporter.cs): the only upstream change since
its baseline is a <remarks> comment describing upstream's partial layout, which
needs no port into the SDK's single-file fork.
Document both gotchas in eng/vendored-files.md.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3328d629-8443-45a7-8ee2-97d3ce23dee5
Sign up for freeto 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.

3 participants

@333fred@basoundr@eerhardt
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Microbuild Additions by 333fred · Pull Request #7 · dotnet/sdk · GitHub
Skip to content

Microbuild Additions - #7

Closed
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild
Closed

Microbuild Additions#7
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild

Conversation

@333fred

Copy link
Copy Markdown
Member

This adds the nuget dependency for building on MicroBuild, as well as installing our dotnet cli to the auto-cleaned folder when running on MicroBuild. Tagging @eerhardt for review. @basoundr, is there anything you can think of that we're missing for building?

@@ -1,5 +1,6 @@
{
"dependencies": {
"MicroBuild.Core": "0.2.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes me nervous that our official product assembly needs to depend on MicroBuild. Is this how other projects work in Roslyn?

@333fred333fredAug 3, 2016

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But isn't the difference that there is just a random "toolset" project that depends on MicroBuild.Core, and here we are making our actual shipping assembly's project depend on MicroBuild.Core? The equivalent in my mind would be if https://github.com/dotnet/roslyn-project-system/tree/master/src/Microsoft.VisualStudio.ProjectSystem.Managed had a direct dependency on MicroBuild.Core.

@basoundr

Copy link
Copy Markdown
Contributor

This is only part of the change. We still need more Microbuild related things to get this project built in Microbuild. This Commit in Roslyn-PS is good starting point.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug
Updated definitions to not include HTML results.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot retest Windows Release

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Choose>
<When Condition="'$(ProjectLanguage)' == 'VB'">

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure we need this VB stuff, so we?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or C++ or portable.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I doubt we need it either, I've been copying from the Roslyn-project-system, and committed and pushed last night before I left. Still some more cleanup to do.

Comment threadDirectory.Build.props

<VersionPrefix Condition="'$(VersionPrefix)' == ''">1.0.0</VersionPrefix>
<!-- When running on Microbuild, this is set to "ymmdd.n". -->
<VersionSuffix Condition="'$(VersionSuffix)' == ''">$(BuildVersion)</VersionSuffix>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing to be careful about here is that nuget versions can't have a number as the first character after the -. So you always need some sort of alpha letter to start the prerelease ($(VersionSuffix)) part. Typically things like alpha, beta, preview, etc. These prerelease prefixes are usually checked into the repo, like the major, minor and patch numbers are.

@333fred

Copy link
Copy Markdown
MemberAuthor

Because microbuild relies on the desktop version of msbuild, and we're running with the xplat version, we're not going to be able to use it directly. I'll be looking into how roslyn is doing signing, since they have to deal with this issue as well. I'll submit a new PR when I have something ready to review.

@333fred333fred closed this Aug 10, 2016
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 5, 2026
Changes include:
- Rename 'managed installations' to 'tracked installations' (dotnet#10)
- Fix '.metadata' -> 'metadata' folder name (dotnet#18)
- Include component type in error/warning messages (dotnet#11)
- Remove component spec from runtime update (dotnet#12)
- Remove GetInstallations wrapper (dotnet#6)
- ScopedMutex throws TimeoutException on failure (dotnet#22)
- Make InstallResult.Install non-nullable (dotnet#17)
- Remove ComponentFilesExist shortcut (dotnet#19)
- Wire up InstallSource enum (dotnet#21)
- ListCommand: enum types, narrowed mutex, read-only verify, spacing (dotnet#3,dotnet#4,dotnet#5,#1)
- Show global.json path in list output (dotnet#15)
- Add doc comments to ListData types (dotnet#7)
- Move SourceOption to CommonOptions, remove alias fields (dotnet#9)
- Remove ResolveChannelFromGlobalJson test hook wrapper (dotnet#14)
- Root 'dotnetup update' updates all components (dotnet#16)
- GlobalJsonChannelResolver: support rollForward policy (dotnet#13)
- Error when installing to unmanaged dotnet root (dotnet#20)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 6, 2026
Changes include:
- UpdateWorkflow.Execute returns non-zero exit code on failure (#1)
- InfoCommand JSON output includes InstallSpecs (dotnet#2)
- Wire --update-global-json through SdkUpdateCommand to UpdateWorkflow (dotnet#3)
- Implement DotnetInstallManager.UpdateGlobalJson using Utf8JsonReader (dotnet#3)
- Fix ResolveEntryDestPath to use normalized entry name (dotnet#4)
- Fix test: MajorMinor test uses correct channel '9.0' (dotnet#5)
- Fix test: LTS assertion checks Major instead of Minor (dotnet#6)
- Fix ScopedMutex.Dispose to not leak mutex on ReleaseMutex throw (dotnet#7)
- Make CommonOptions fields static readonly (dotnet#9)
- Remove unused --no-progress from uninstall parsers (dotnet#10)
- GarbageCollector catches Exception instead of just IOException (dotnet#11)
- Capitalize 'SDK' in SdkCommandParser description (dotnet#12)
- Eliminate redundant manifest reads in InstallerOrchestratorSingleton (dotnet#13)
- Fix STS test error message to say 'major' not 'minor' (dotnet#14)
- Make DotnetupUtilities.ExeSuffix readonly (dotnet#16)
- Fix FormatBytes to use floating-point with one decimal (dotnet#17)
- Remove dead ReleaseManifest variable in DotnetInstaller (dotnet#18)
- Make UpdateChannel.Name immutable (dotnet#19)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mmitche added a commit that referenced this pull request Mar 18, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Evangelink added a commit to Evangelink/sdk that referenced this pull request Aug 3, 2026
…s manifest
testfx split TerminalTestReporter.Summary.cs into focused partials
(microsoft/testfx#10387), adding four upstream paths that the
dotnet-test-terminal-reporter entry does not list. Until they are tracked,
edits to the coverage, discovery, flaky-test and slowest-test rendering are
invisible to the drift detector.
The new sources are appended rather than sorted into the list: the drift bot
keys issue identity on the positional source index, so inserting would orphan
the open issues for .Summary.cs (dotnet#7) and .TestCompletion.cs (dotnet#8) and file
duplicates at the shifted positions. Document that sources is append-only.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b8858a93-4a8d-4028-b0db-c221ef158206
manodasanW pushed a commit to manodasanW/dotnet-sdk that referenced this pull request Aug 4, 2026
microsoft/testfx#10387 split TerminalTestReporter.Summary.cs into focused
partials, adding Coverage, FlakyTests, SlowestTests and TestDiscovery. Upstream
includes the folder with a glob, so nothing flagged the addition here and edits
to those four files were invisible to the drift detector
(microsoft/testfx#10390).
Append the four paths to the dotnet-test-terminal-reporter entry, baselined at
the split commit acb5bafaa2. They are appended rather than sorted in because the
tracking-issue marker keys on the source index, and dotnet#7 (Summary) and dotnet#8
(TestCompletion) have open issues (dotnet#55472, dotnet#55473) that inserting would orphan.
Those two keep their old baselines: their drift is real, unported feature work
(retry/flaky accounting, in-process retry attribution), not just the move.
Also bump source #0 (TerminalTestReporter.cs): the only upstream change since
its baseline is a <remarks> comment describing upstream's partial layout, which
needs no port into the SDK's single-file fork.
Document both gotchas in eng/vendored-files.md.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3328d629-8443-45a7-8ee2-97d3ce23dee5
Sign up for freeto 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.

3 participants

@333fred@basoundr@eerhardt
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Microbuild Additions by 333fred · Pull Request #7 · dotnet/sdk · GitHub
Skip to content

Microbuild Additions - #7

Closed
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild
Closed

Microbuild Additions#7
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild

Conversation

@333fred

Copy link
Copy Markdown
Member

This adds the nuget dependency for building on MicroBuild, as well as installing our dotnet cli to the auto-cleaned folder when running on MicroBuild. Tagging @eerhardt for review. @basoundr, is there anything you can think of that we're missing for building?

@@ -1,5 +1,6 @@
{
"dependencies": {
"MicroBuild.Core": "0.2.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes me nervous that our official product assembly needs to depend on MicroBuild. Is this how other projects work in Roslyn?

@333fred333fredAug 3, 2016

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But isn't the difference that there is just a random "toolset" project that depends on MicroBuild.Core, and here we are making our actual shipping assembly's project depend on MicroBuild.Core? The equivalent in my mind would be if https://github.com/dotnet/roslyn-project-system/tree/master/src/Microsoft.VisualStudio.ProjectSystem.Managed had a direct dependency on MicroBuild.Core.

@basoundr

Copy link
Copy Markdown
Contributor

This is only part of the change. We still need more Microbuild related things to get this project built in Microbuild. This Commit in Roslyn-PS is good starting point.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug
Updated definitions to not include HTML results.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot retest Windows Release

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Choose>
<When Condition="'$(ProjectLanguage)' == 'VB'">

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure we need this VB stuff, so we?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or C++ or portable.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I doubt we need it either, I've been copying from the Roslyn-project-system, and committed and pushed last night before I left. Still some more cleanup to do.

Comment threadDirectory.Build.props

<VersionPrefix Condition="'$(VersionPrefix)' == ''">1.0.0</VersionPrefix>
<!-- When running on Microbuild, this is set to "ymmdd.n". -->
<VersionSuffix Condition="'$(VersionSuffix)' == ''">$(BuildVersion)</VersionSuffix>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing to be careful about here is that nuget versions can't have a number as the first character after the -. So you always need some sort of alpha letter to start the prerelease ($(VersionSuffix)) part. Typically things like alpha, beta, preview, etc. These prerelease prefixes are usually checked into the repo, like the major, minor and patch numbers are.

@333fred

Copy link
Copy Markdown
MemberAuthor

Because microbuild relies on the desktop version of msbuild, and we're running with the xplat version, we're not going to be able to use it directly. I'll be looking into how roslyn is doing signing, since they have to deal with this issue as well. I'll submit a new PR when I have something ready to review.

@333fred333fred closed this Aug 10, 2016
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 5, 2026
Changes include:
- Rename 'managed installations' to 'tracked installations' (dotnet#10)
- Fix '.metadata' -> 'metadata' folder name (dotnet#18)
- Include component type in error/warning messages (dotnet#11)
- Remove component spec from runtime update (dotnet#12)
- Remove GetInstallations wrapper (dotnet#6)
- ScopedMutex throws TimeoutException on failure (dotnet#22)
- Make InstallResult.Install non-nullable (dotnet#17)
- Remove ComponentFilesExist shortcut (dotnet#19)
- Wire up InstallSource enum (dotnet#21)
- ListCommand: enum types, narrowed mutex, read-only verify, spacing (dotnet#3,dotnet#4,dotnet#5,#1)
- Show global.json path in list output (dotnet#15)
- Add doc comments to ListData types (dotnet#7)
- Move SourceOption to CommonOptions, remove alias fields (dotnet#9)
- Remove ResolveChannelFromGlobalJson test hook wrapper (dotnet#14)
- Root 'dotnetup update' updates all components (dotnet#16)
- GlobalJsonChannelResolver: support rollForward policy (dotnet#13)
- Error when installing to unmanaged dotnet root (dotnet#20)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 6, 2026
Changes include:
- UpdateWorkflow.Execute returns non-zero exit code on failure (#1)
- InfoCommand JSON output includes InstallSpecs (dotnet#2)
- Wire --update-global-json through SdkUpdateCommand to UpdateWorkflow (dotnet#3)
- Implement DotnetInstallManager.UpdateGlobalJson using Utf8JsonReader (dotnet#3)
- Fix ResolveEntryDestPath to use normalized entry name (dotnet#4)
- Fix test: MajorMinor test uses correct channel '9.0' (dotnet#5)
- Fix test: LTS assertion checks Major instead of Minor (dotnet#6)
- Fix ScopedMutex.Dispose to not leak mutex on ReleaseMutex throw (dotnet#7)
- Make CommonOptions fields static readonly (dotnet#9)
- Remove unused --no-progress from uninstall parsers (dotnet#10)
- GarbageCollector catches Exception instead of just IOException (dotnet#11)
- Capitalize 'SDK' in SdkCommandParser description (dotnet#12)
- Eliminate redundant manifest reads in InstallerOrchestratorSingleton (dotnet#13)
- Fix STS test error message to say 'major' not 'minor' (dotnet#14)
- Make DotnetupUtilities.ExeSuffix readonly (dotnet#16)
- Fix FormatBytes to use floating-point with one decimal (dotnet#17)
- Remove dead ReleaseManifest variable in DotnetInstaller (dotnet#18)
- Make UpdateChannel.Name immutable (dotnet#19)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mmitche added a commit that referenced this pull request Mar 18, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Evangelink added a commit to Evangelink/sdk that referenced this pull request Aug 3, 2026
…s manifest
testfx split TerminalTestReporter.Summary.cs into focused partials
(microsoft/testfx#10387), adding four upstream paths that the
dotnet-test-terminal-reporter entry does not list. Until they are tracked,
edits to the coverage, discovery, flaky-test and slowest-test rendering are
invisible to the drift detector.
The new sources are appended rather than sorted into the list: the drift bot
keys issue identity on the positional source index, so inserting would orphan
the open issues for .Summary.cs (dotnet#7) and .TestCompletion.cs (dotnet#8) and file
duplicates at the shifted positions. Document that sources is append-only.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b8858a93-4a8d-4028-b0db-c221ef158206
manodasanW pushed a commit to manodasanW/dotnet-sdk that referenced this pull request Aug 4, 2026
microsoft/testfx#10387 split TerminalTestReporter.Summary.cs into focused
partials, adding Coverage, FlakyTests, SlowestTests and TestDiscovery. Upstream
includes the folder with a glob, so nothing flagged the addition here and edits
to those four files were invisible to the drift detector
(microsoft/testfx#10390).
Append the four paths to the dotnet-test-terminal-reporter entry, baselined at
the split commit acb5bafaa2. They are appended rather than sorted in because the
tracking-issue marker keys on the source index, and dotnet#7 (Summary) and dotnet#8
(TestCompletion) have open issues (dotnet#55472, dotnet#55473) that inserting would orphan.
Those two keep their old baselines: their drift is real, unported feature work
(retry/flaky accounting, in-process retry attribution), not just the move.
Also bump source #0 (TerminalTestReporter.cs): the only upstream change since
its baseline is a <remarks> comment describing upstream's partial layout, which
needs no port into the SDK's single-file fork.
Document both gotchas in eng/vendored-files.md.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3328d629-8443-45a7-8ee2-97d3ce23dee5
Sign up for freeto 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.

3 participants

@333fred@basoundr@eerhardt
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Microbuild Additions by 333fred · Pull Request #7 · dotnet/sdk · GitHub
Skip to content

Microbuild Additions - #7

Closed
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild
Closed

Microbuild Additions#7
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild

Conversation

@333fred

Copy link
Copy Markdown
Member

This adds the nuget dependency for building on MicroBuild, as well as installing our dotnet cli to the auto-cleaned folder when running on MicroBuild. Tagging @eerhardt for review. @basoundr, is there anything you can think of that we're missing for building?

@@ -1,5 +1,6 @@
{
"dependencies": {
"MicroBuild.Core": "0.2.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes me nervous that our official product assembly needs to depend on MicroBuild. Is this how other projects work in Roslyn?

@333fred333fredAug 3, 2016

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But isn't the difference that there is just a random "toolset" project that depends on MicroBuild.Core, and here we are making our actual shipping assembly's project depend on MicroBuild.Core? The equivalent in my mind would be if https://github.com/dotnet/roslyn-project-system/tree/master/src/Microsoft.VisualStudio.ProjectSystem.Managed had a direct dependency on MicroBuild.Core.

@basoundr

Copy link
Copy Markdown
Contributor

This is only part of the change. We still need more Microbuild related things to get this project built in Microbuild. This Commit in Roslyn-PS is good starting point.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug
Updated definitions to not include HTML results.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot retest Windows Release

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Choose>
<When Condition="'$(ProjectLanguage)' == 'VB'">

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure we need this VB stuff, so we?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or C++ or portable.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I doubt we need it either, I've been copying from the Roslyn-project-system, and committed and pushed last night before I left. Still some more cleanup to do.

Comment threadDirectory.Build.props

<VersionPrefix Condition="'$(VersionPrefix)' == ''">1.0.0</VersionPrefix>
<!-- When running on Microbuild, this is set to "ymmdd.n". -->
<VersionSuffix Condition="'$(VersionSuffix)' == ''">$(BuildVersion)</VersionSuffix>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing to be careful about here is that nuget versions can't have a number as the first character after the -. So you always need some sort of alpha letter to start the prerelease ($(VersionSuffix)) part. Typically things like alpha, beta, preview, etc. These prerelease prefixes are usually checked into the repo, like the major, minor and patch numbers are.

@333fred

Copy link
Copy Markdown
MemberAuthor

Because microbuild relies on the desktop version of msbuild, and we're running with the xplat version, we're not going to be able to use it directly. I'll be looking into how roslyn is doing signing, since they have to deal with this issue as well. I'll submit a new PR when I have something ready to review.

@333fred333fred closed this Aug 10, 2016
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 5, 2026
Changes include:
- Rename 'managed installations' to 'tracked installations' (dotnet#10)
- Fix '.metadata' -> 'metadata' folder name (dotnet#18)
- Include component type in error/warning messages (dotnet#11)
- Remove component spec from runtime update (dotnet#12)
- Remove GetInstallations wrapper (dotnet#6)
- ScopedMutex throws TimeoutException on failure (dotnet#22)
- Make InstallResult.Install non-nullable (dotnet#17)
- Remove ComponentFilesExist shortcut (dotnet#19)
- Wire up InstallSource enum (dotnet#21)
- ListCommand: enum types, narrowed mutex, read-only verify, spacing (dotnet#3,dotnet#4,dotnet#5,#1)
- Show global.json path in list output (dotnet#15)
- Add doc comments to ListData types (dotnet#7)
- Move SourceOption to CommonOptions, remove alias fields (dotnet#9)
- Remove ResolveChannelFromGlobalJson test hook wrapper (dotnet#14)
- Root 'dotnetup update' updates all components (dotnet#16)
- GlobalJsonChannelResolver: support rollForward policy (dotnet#13)
- Error when installing to unmanaged dotnet root (dotnet#20)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 6, 2026
Changes include:
- UpdateWorkflow.Execute returns non-zero exit code on failure (#1)
- InfoCommand JSON output includes InstallSpecs (dotnet#2)
- Wire --update-global-json through SdkUpdateCommand to UpdateWorkflow (dotnet#3)
- Implement DotnetInstallManager.UpdateGlobalJson using Utf8JsonReader (dotnet#3)
- Fix ResolveEntryDestPath to use normalized entry name (dotnet#4)
- Fix test: MajorMinor test uses correct channel '9.0' (dotnet#5)
- Fix test: LTS assertion checks Major instead of Minor (dotnet#6)
- Fix ScopedMutex.Dispose to not leak mutex on ReleaseMutex throw (dotnet#7)
- Make CommonOptions fields static readonly (dotnet#9)
- Remove unused --no-progress from uninstall parsers (dotnet#10)
- GarbageCollector catches Exception instead of just IOException (dotnet#11)
- Capitalize 'SDK' in SdkCommandParser description (dotnet#12)
- Eliminate redundant manifest reads in InstallerOrchestratorSingleton (dotnet#13)
- Fix STS test error message to say 'major' not 'minor' (dotnet#14)
- Make DotnetupUtilities.ExeSuffix readonly (dotnet#16)
- Fix FormatBytes to use floating-point with one decimal (dotnet#17)
- Remove dead ReleaseManifest variable in DotnetInstaller (dotnet#18)
- Make UpdateChannel.Name immutable (dotnet#19)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mmitche added a commit that referenced this pull request Mar 18, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Evangelink added a commit to Evangelink/sdk that referenced this pull request Aug 3, 2026
…s manifest
testfx split TerminalTestReporter.Summary.cs into focused partials
(microsoft/testfx#10387), adding four upstream paths that the
dotnet-test-terminal-reporter entry does not list. Until they are tracked,
edits to the coverage, discovery, flaky-test and slowest-test rendering are
invisible to the drift detector.
The new sources are appended rather than sorted into the list: the drift bot
keys issue identity on the positional source index, so inserting would orphan
the open issues for .Summary.cs (dotnet#7) and .TestCompletion.cs (dotnet#8) and file
duplicates at the shifted positions. Document that sources is append-only.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b8858a93-4a8d-4028-b0db-c221ef158206
manodasanW pushed a commit to manodasanW/dotnet-sdk that referenced this pull request Aug 4, 2026
microsoft/testfx#10387 split TerminalTestReporter.Summary.cs into focused
partials, adding Coverage, FlakyTests, SlowestTests and TestDiscovery. Upstream
includes the folder with a glob, so nothing flagged the addition here and edits
to those four files were invisible to the drift detector
(microsoft/testfx#10390).
Append the four paths to the dotnet-test-terminal-reporter entry, baselined at
the split commit acb5bafaa2. They are appended rather than sorted in because the
tracking-issue marker keys on the source index, and dotnet#7 (Summary) and dotnet#8
(TestCompletion) have open issues (dotnet#55472, dotnet#55473) that inserting would orphan.
Those two keep their old baselines: their drift is real, unported feature work
(retry/flaky accounting, in-process retry attribution), not just the move.
Also bump source #0 (TerminalTestReporter.cs): the only upstream change since
its baseline is a <remarks> comment describing upstream's partial layout, which
needs no port into the SDK's single-file fork.
Document both gotchas in eng/vendored-files.md.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3328d629-8443-45a7-8ee2-97d3ce23dee5
Sign up for freeto 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.

3 participants

@333fred@basoundr@eerhardt
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Microbuild Additions by 333fred · Pull Request #7 · dotnet/sdk · GitHub
Skip to content

Microbuild Additions - #7

Closed
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild
Closed

Microbuild Additions#7
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild

Conversation

@333fred

Copy link
Copy Markdown
Member

This adds the nuget dependency for building on MicroBuild, as well as installing our dotnet cli to the auto-cleaned folder when running on MicroBuild. Tagging @eerhardt for review. @basoundr, is there anything you can think of that we're missing for building?

@@ -1,5 +1,6 @@
{
"dependencies": {
"MicroBuild.Core": "0.2.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes me nervous that our official product assembly needs to depend on MicroBuild. Is this how other projects work in Roslyn?

@333fred333fredAug 3, 2016

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But isn't the difference that there is just a random "toolset" project that depends on MicroBuild.Core, and here we are making our actual shipping assembly's project depend on MicroBuild.Core? The equivalent in my mind would be if https://github.com/dotnet/roslyn-project-system/tree/master/src/Microsoft.VisualStudio.ProjectSystem.Managed had a direct dependency on MicroBuild.Core.

@basoundr

Copy link
Copy Markdown
Contributor

This is only part of the change. We still need more Microbuild related things to get this project built in Microbuild. This Commit in Roslyn-PS is good starting point.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug
Updated definitions to not include HTML results.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot retest Windows Release

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Choose>
<When Condition="'$(ProjectLanguage)' == 'VB'">

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure we need this VB stuff, so we?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or C++ or portable.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I doubt we need it either, I've been copying from the Roslyn-project-system, and committed and pushed last night before I left. Still some more cleanup to do.

Comment threadDirectory.Build.props

<VersionPrefix Condition="'$(VersionPrefix)' == ''">1.0.0</VersionPrefix>
<!-- When running on Microbuild, this is set to "ymmdd.n". -->
<VersionSuffix Condition="'$(VersionSuffix)' == ''">$(BuildVersion)</VersionSuffix>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing to be careful about here is that nuget versions can't have a number as the first character after the -. So you always need some sort of alpha letter to start the prerelease ($(VersionSuffix)) part. Typically things like alpha, beta, preview, etc. These prerelease prefixes are usually checked into the repo, like the major, minor and patch numbers are.

@333fred

Copy link
Copy Markdown
MemberAuthor

Because microbuild relies on the desktop version of msbuild, and we're running with the xplat version, we're not going to be able to use it directly. I'll be looking into how roslyn is doing signing, since they have to deal with this issue as well. I'll submit a new PR when I have something ready to review.

@333fred333fred closed this Aug 10, 2016
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 5, 2026
Changes include:
- Rename 'managed installations' to 'tracked installations' (dotnet#10)
- Fix '.metadata' -> 'metadata' folder name (dotnet#18)
- Include component type in error/warning messages (dotnet#11)
- Remove component spec from runtime update (dotnet#12)
- Remove GetInstallations wrapper (dotnet#6)
- ScopedMutex throws TimeoutException on failure (dotnet#22)
- Make InstallResult.Install non-nullable (dotnet#17)
- Remove ComponentFilesExist shortcut (dotnet#19)
- Wire up InstallSource enum (dotnet#21)
- ListCommand: enum types, narrowed mutex, read-only verify, spacing (dotnet#3,dotnet#4,dotnet#5,#1)
- Show global.json path in list output (dotnet#15)
- Add doc comments to ListData types (dotnet#7)
- Move SourceOption to CommonOptions, remove alias fields (dotnet#9)
- Remove ResolveChannelFromGlobalJson test hook wrapper (dotnet#14)
- Root 'dotnetup update' updates all components (dotnet#16)
- GlobalJsonChannelResolver: support rollForward policy (dotnet#13)
- Error when installing to unmanaged dotnet root (dotnet#20)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 6, 2026
Changes include:
- UpdateWorkflow.Execute returns non-zero exit code on failure (#1)
- InfoCommand JSON output includes InstallSpecs (dotnet#2)
- Wire --update-global-json through SdkUpdateCommand to UpdateWorkflow (dotnet#3)
- Implement DotnetInstallManager.UpdateGlobalJson using Utf8JsonReader (dotnet#3)
- Fix ResolveEntryDestPath to use normalized entry name (dotnet#4)
- Fix test: MajorMinor test uses correct channel '9.0' (dotnet#5)
- Fix test: LTS assertion checks Major instead of Minor (dotnet#6)
- Fix ScopedMutex.Dispose to not leak mutex on ReleaseMutex throw (dotnet#7)
- Make CommonOptions fields static readonly (dotnet#9)
- Remove unused --no-progress from uninstall parsers (dotnet#10)
- GarbageCollector catches Exception instead of just IOException (dotnet#11)
- Capitalize 'SDK' in SdkCommandParser description (dotnet#12)
- Eliminate redundant manifest reads in InstallerOrchestratorSingleton (dotnet#13)
- Fix STS test error message to say 'major' not 'minor' (dotnet#14)
- Make DotnetupUtilities.ExeSuffix readonly (dotnet#16)
- Fix FormatBytes to use floating-point with one decimal (dotnet#17)
- Remove dead ReleaseManifest variable in DotnetInstaller (dotnet#18)
- Make UpdateChannel.Name immutable (dotnet#19)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mmitche added a commit that referenced this pull request Mar 18, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Evangelink added a commit to Evangelink/sdk that referenced this pull request Aug 3, 2026
…s manifest
testfx split TerminalTestReporter.Summary.cs into focused partials
(microsoft/testfx#10387), adding four upstream paths that the
dotnet-test-terminal-reporter entry does not list. Until they are tracked,
edits to the coverage, discovery, flaky-test and slowest-test rendering are
invisible to the drift detector.
The new sources are appended rather than sorted into the list: the drift bot
keys issue identity on the positional source index, so inserting would orphan
the open issues for .Summary.cs (dotnet#7) and .TestCompletion.cs (dotnet#8) and file
duplicates at the shifted positions. Document that sources is append-only.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b8858a93-4a8d-4028-b0db-c221ef158206
manodasanW pushed a commit to manodasanW/dotnet-sdk that referenced this pull request Aug 4, 2026
microsoft/testfx#10387 split TerminalTestReporter.Summary.cs into focused
partials, adding Coverage, FlakyTests, SlowestTests and TestDiscovery. Upstream
includes the folder with a glob, so nothing flagged the addition here and edits
to those four files were invisible to the drift detector
(microsoft/testfx#10390).
Append the four paths to the dotnet-test-terminal-reporter entry, baselined at
the split commit acb5bafaa2. They are appended rather than sorted in because the
tracking-issue marker keys on the source index, and dotnet#7 (Summary) and dotnet#8
(TestCompletion) have open issues (dotnet#55472, dotnet#55473) that inserting would orphan.
Those two keep their old baselines: their drift is real, unported feature work
(retry/flaky accounting, in-process retry attribution), not just the move.
Also bump source #0 (TerminalTestReporter.cs): the only upstream change since
its baseline is a <remarks> comment describing upstream's partial layout, which
needs no port into the SDK's single-file fork.
Document both gotchas in eng/vendored-files.md.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3328d629-8443-45a7-8ee2-97d3ce23dee5
Sign up for freeto 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.

3 participants

@333fred@basoundr@eerhardt
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Microbuild Additions by 333fred · Pull Request #7 · dotnet/sdk · GitHub
Skip to content

Microbuild Additions - #7

Closed
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild
Closed

Microbuild Additions#7
333fred wants to merge 10 commits into
dotnet:masterfrom
333fred:microbuild

Conversation

@333fred

Copy link
Copy Markdown
Member

This adds the nuget dependency for building on MicroBuild, as well as installing our dotnet cli to the auto-cleaned folder when running on MicroBuild. Tagging @eerhardt for review. @basoundr, is there anything you can think of that we're missing for building?

@@ -1,5 +1,6 @@
{
"dependencies": {
"MicroBuild.Core": "0.2.0",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes me nervous that our official product assembly needs to depend on MicroBuild. Is this how other projects work in Roslyn?

@333fred333fredAug 3, 2016

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But isn't the difference that there is just a random "toolset" project that depends on MicroBuild.Core, and here we are making our actual shipping assembly's project depend on MicroBuild.Core? The equivalent in my mind would be if https://github.com/dotnet/roslyn-project-system/tree/master/src/Microsoft.VisualStudio.ProjectSystem.Managed had a direct dependency on MicroBuild.Core.

@basoundr

Copy link
Copy Markdown
Contributor

This is only part of the change. We still need more Microbuild related things to get this project built in Microbuild. This Commit in Roslyn-PS is good starting point.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot test Windows Debug
Updated definitions to not include HTML results.

@333fred

Copy link
Copy Markdown
MemberAuthor

@dotnet-bot retest Windows Release

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Choose>
<When Condition="'$(ProjectLanguage)' == 'VB'">

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure we need this VB stuff, so we?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or C++ or portable.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I doubt we need it either, I've been copying from the Roslyn-project-system, and committed and pushed last night before I left. Still some more cleanup to do.

Comment threadDirectory.Build.props

<VersionPrefix Condition="'$(VersionPrefix)' == ''">1.0.0</VersionPrefix>
<!-- When running on Microbuild, this is set to "ymmdd.n". -->
<VersionSuffix Condition="'$(VersionSuffix)' == ''">$(BuildVersion)</VersionSuffix>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One thing to be careful about here is that nuget versions can't have a number as the first character after the -. So you always need some sort of alpha letter to start the prerelease ($(VersionSuffix)) part. Typically things like alpha, beta, preview, etc. These prerelease prefixes are usually checked into the repo, like the major, minor and patch numbers are.

@333fred

Copy link
Copy Markdown
MemberAuthor

Because microbuild relies on the desktop version of msbuild, and we're running with the xplat version, we're not going to be able to use it directly. I'll be looking into how roslyn is doing signing, since they have to deal with this issue as well. I'll submit a new PR when I have something ready to review.

@333fred333fred closed this Aug 10, 2016
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 5, 2026
Changes include:
- Rename 'managed installations' to 'tracked installations' (dotnet#10)
- Fix '.metadata' -> 'metadata' folder name (dotnet#18)
- Include component type in error/warning messages (dotnet#11)
- Remove component spec from runtime update (dotnet#12)
- Remove GetInstallations wrapper (dotnet#6)
- ScopedMutex throws TimeoutException on failure (dotnet#22)
- Make InstallResult.Install non-nullable (dotnet#17)
- Remove ComponentFilesExist shortcut (dotnet#19)
- Wire up InstallSource enum (dotnet#21)
- ListCommand: enum types, narrowed mutex, read-only verify, spacing (dotnet#3,dotnet#4,dotnet#5,#1)
- Show global.json path in list output (dotnet#15)
- Add doc comments to ListData types (dotnet#7)
- Move SourceOption to CommonOptions, remove alias fields (dotnet#9)
- Remove ResolveChannelFromGlobalJson test hook wrapper (dotnet#14)
- Root 'dotnetup update' updates all components (dotnet#16)
- GlobalJsonChannelResolver: support rollForward policy (dotnet#13)
- Error when installing to unmanaged dotnet root (dotnet#20)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
dsplaisted added a commit to dsplaisted/sdk that referenced this pull request Mar 6, 2026
Changes include:
- UpdateWorkflow.Execute returns non-zero exit code on failure (#1)
- InfoCommand JSON output includes InstallSpecs (dotnet#2)
- Wire --update-global-json through SdkUpdateCommand to UpdateWorkflow (dotnet#3)
- Implement DotnetInstallManager.UpdateGlobalJson using Utf8JsonReader (dotnet#3)
- Fix ResolveEntryDestPath to use normalized entry name (dotnet#4)
- Fix test: MajorMinor test uses correct channel '9.0' (dotnet#5)
- Fix test: LTS assertion checks Major instead of Minor (dotnet#6)
- Fix ScopedMutex.Dispose to not leak mutex on ReleaseMutex throw (dotnet#7)
- Make CommonOptions fields static readonly (dotnet#9)
- Remove unused --no-progress from uninstall parsers (dotnet#10)
- GarbageCollector catches Exception instead of just IOException (dotnet#11)
- Capitalize 'SDK' in SdkCommandParser description (dotnet#12)
- Eliminate redundant manifest reads in InstallerOrchestratorSingleton (dotnet#13)
- Fix STS test error message to say 'major' not 'minor' (dotnet#14)
- Make DotnetupUtilities.ExeSuffix readonly (dotnet#16)
- Fix FormatBytes to use floating-point with one decimal (dotnet#17)
- Remove dead ReleaseManifest variable in DotnetInstaller (dotnet#18)
- Make UpdateChannel.Name immutable (dotnet#19)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mmitche added a commit that referenced this pull request Mar 18, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Evangelink added a commit to Evangelink/sdk that referenced this pull request Aug 3, 2026
…s manifest
testfx split TerminalTestReporter.Summary.cs into focused partials
(microsoft/testfx#10387), adding four upstream paths that the
dotnet-test-terminal-reporter entry does not list. Until they are tracked,
edits to the coverage, discovery, flaky-test and slowest-test rendering are
invisible to the drift detector.
The new sources are appended rather than sorted into the list: the drift bot
keys issue identity on the positional source index, so inserting would orphan
the open issues for .Summary.cs (dotnet#7) and .TestCompletion.cs (dotnet#8) and file
duplicates at the shifted positions. Document that sources is append-only.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: b8858a93-4a8d-4028-b0db-c221ef158206
manodasanW pushed a commit to manodasanW/dotnet-sdk that referenced this pull request Aug 4, 2026
microsoft/testfx#10387 split TerminalTestReporter.Summary.cs into focused
partials, adding Coverage, FlakyTests, SlowestTests and TestDiscovery. Upstream
includes the folder with a glob, so nothing flagged the addition here and edits
to those four files were invisible to the drift detector
(microsoft/testfx#10390).
Append the four paths to the dotnet-test-terminal-reporter entry, baselined at
the split commit acb5bafaa2. They are appended rather than sorted in because the
tracking-issue marker keys on the source index, and dotnet#7 (Summary) and dotnet#8
(TestCompletion) have open issues (dotnet#55472, dotnet#55473) that inserting would orphan.
Those two keep their old baselines: their drift is real, unported feature work
(retry/flaky accounting, in-process retry attribution), not just the move.
Also bump source #0 (TerminalTestReporter.cs): the only upstream change since
its baseline is a <remarks> comment describing upstream's partial layout, which
needs no port into the SDK's single-file fork.
Document both gotchas in eng/vendored-files.md.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3328d629-8443-45a7-8ee2-97d3ce23dee5
Sign up for freeto 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.

3 participants

@333fred@basoundr@eerhardt