Use netstandard1.3 in our tasks library. - #5

Merged
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3
Aug 3, 2016
Merged

Use netstandard1.3 in our tasks library.#5
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3

Conversation

@eerhardt

Copy link
Copy Markdown
Member

I also added the current "Sdk" .props and .targets files from the dotnet/cli repo. We can modify these as we go. Our "Tasks" library will be the first test for these .props and .targets files.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

/cc @natidea@davkean@333fred

<TargetFrameworkVersion>v1.3</TargetFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<None Include="Microsoft.DotNet.Core.Sdk.targets" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this be copied to output?

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.

Not sure. It needs to get packaged into the .nupkg (which is my next step). That will get figured out then.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Okay sounds good.

@333fred

Copy link
Copy Markdown
Member

build.cmd fails with this patch, lots of missing assembly and using references.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

build.cmd fails with this patch, lots of missing assembly and using references.

I assume build.cmd will need to call restore before build. Can you try restoring in VS on your machine and then call build.cmd?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

I can work on getting an LKG version of the CLI installed during build.cmd, which will then be able to restore. And we can use "dotnet build3", which will build the solution, instead of relying on msbuild being installed on the box.

@333fred

Copy link
Copy Markdown
Member

Yeah, restore fixed it. For that version of .NET, would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

It will be downloaded "on the fly"

@eerhardt

Copy link
Copy Markdown
MemberAuthor

@333fred - how about now? does it build cleanly on your box with my latest change?

@333fred

Copy link
Copy Markdown
Member

@eerhardt yep, clean build works just fine now, restoring all packages.

Comment threadbuild.ps1 Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

will the space here throw off the arg parsing when passing it through to msbuild?

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.

Doesn't appear to on my box. It failed when this wasn't supplied. It passes now.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not as familiar with PS quoting defaults as bash, thanks for the clarification.

@natidea

Copy link
Copy Markdown
Contributor

:shipit:

@eerhardt
eerhardt merged commit e911e26 into dotnet:masterAug 3, 2016
@eerhardt
eerhardt deleted the UseNetstandard1.3 branch August 3, 2016 02:34
nguerrera pushed a commit that referenced this pull request Oct 10, 2016
Use netstandard1.3 in our tasks library.
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
Fixing the MsBuild version in the tasks assembly
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 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 14, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 18, 2026
Build #4 failed due to pre-existing flaky dotnet-watch test:
ProjectAndSourceFileChange_AddPackageReference (Assert.Equal 1 vs 0)
This is not related to our PR changes. Restarting streak count.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

4 participants

@eerhardt@333fred@natidea@brthor
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n 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;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Use netstandard1.3 in our tasks library. - #5

Merged
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3
Aug 3, 2016
Merged

Use netstandard1.3 in our tasks library.#5
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3

Conversation

@eerhardt

Copy link
Copy Markdown
Member

I also added the current "Sdk" .props and .targets files from the dotnet/cli repo. We can modify these as we go. Our "Tasks" library will be the first test for these .props and .targets files.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

/cc @natidea@davkean@333fred

<TargetFrameworkVersion>v1.3</TargetFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<None Include="Microsoft.DotNet.Core.Sdk.targets" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this be copied to output?

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.

Not sure. It needs to get packaged into the .nupkg (which is my next step). That will get figured out then.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Okay sounds good.

@333fred

Copy link
Copy Markdown
Member

build.cmd fails with this patch, lots of missing assembly and using references.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

build.cmd fails with this patch, lots of missing assembly and using references.

I assume build.cmd will need to call restore before build. Can you try restoring in VS on your machine and then call build.cmd?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

I can work on getting an LKG version of the CLI installed during build.cmd, which will then be able to restore. And we can use "dotnet build3", which will build the solution, instead of relying on msbuild being installed on the box.

@333fred

Copy link
Copy Markdown
Member

Yeah, restore fixed it. For that version of .NET, would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

It will be downloaded "on the fly"

@eerhardt

Copy link
Copy Markdown
MemberAuthor

@333fred - how about now? does it build cleanly on your box with my latest change?

@333fred

Copy link
Copy Markdown
Member

@eerhardt yep, clean build works just fine now, restoring all packages.

Comment threadbuild.ps1 Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

will the space here throw off the arg parsing when passing it through to msbuild?

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.

Doesn't appear to on my box. It failed when this wasn't supplied. It passes now.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not as familiar with PS quoting defaults as bash, thanks for the clarification.

@natidea

Copy link
Copy Markdown
Contributor

:shipit:

@eerhardt
eerhardt merged commit e911e26 into dotnet:masterAug 3, 2016
@eerhardt
eerhardt deleted the UseNetstandard1.3 branch August 3, 2016 02:34
nguerrera pushed a commit that referenced this pull request Oct 10, 2016
Use netstandard1.3 in our tasks library.
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
Fixing the MsBuild version in the tasks assembly
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 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 14, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 18, 2026
Build #4 failed due to pre-existing flaky dotnet-watch test:
ProjectAndSourceFileChange_AddPackageReference (Assert.Equal 1 vs 0)
This is not related to our PR changes. Restarting streak count.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

4 participants

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

Use netstandard1.3 in our tasks library. - #5

Merged
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3
Aug 3, 2016
Merged

Use netstandard1.3 in our tasks library.#5
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3

Conversation

@eerhardt

Copy link
Copy Markdown
Member

I also added the current "Sdk" .props and .targets files from the dotnet/cli repo. We can modify these as we go. Our "Tasks" library will be the first test for these .props and .targets files.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

/cc @natidea@davkean@333fred

<TargetFrameworkVersion>v1.3</TargetFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<None Include="Microsoft.DotNet.Core.Sdk.targets" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this be copied to output?

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.

Not sure. It needs to get packaged into the .nupkg (which is my next step). That will get figured out then.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Okay sounds good.

@333fred

Copy link
Copy Markdown
Member

build.cmd fails with this patch, lots of missing assembly and using references.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

build.cmd fails with this patch, lots of missing assembly and using references.

I assume build.cmd will need to call restore before build. Can you try restoring in VS on your machine and then call build.cmd?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

I can work on getting an LKG version of the CLI installed during build.cmd, which will then be able to restore. And we can use "dotnet build3", which will build the solution, instead of relying on msbuild being installed on the box.

@333fred

Copy link
Copy Markdown
Member

Yeah, restore fixed it. For that version of .NET, would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

It will be downloaded "on the fly"

@eerhardt

Copy link
Copy Markdown
MemberAuthor

@333fred - how about now? does it build cleanly on your box with my latest change?

@333fred

Copy link
Copy Markdown
Member

@eerhardt yep, clean build works just fine now, restoring all packages.

Comment threadbuild.ps1 Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

will the space here throw off the arg parsing when passing it through to msbuild?

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.

Doesn't appear to on my box. It failed when this wasn't supplied. It passes now.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not as familiar with PS quoting defaults as bash, thanks for the clarification.

@natidea

Copy link
Copy Markdown
Contributor

:shipit:

@eerhardt
eerhardt merged commit e911e26 into dotnet:masterAug 3, 2016
@eerhardt
eerhardt deleted the UseNetstandard1.3 branch August 3, 2016 02:34
nguerrera pushed a commit that referenced this pull request Oct 10, 2016
Use netstandard1.3 in our tasks library.
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
Fixing the MsBuild version in the tasks assembly
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 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 14, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 18, 2026
Build #4 failed due to pre-existing flaky dotnet-watch test:
ProjectAndSourceFileChange_AddPackageReference (Assert.Equal 1 vs 0)
This is not related to our PR changes. Restarting streak count.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

4 participants

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

Use netstandard1.3 in our tasks library. - #5

Merged
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3
Aug 3, 2016
Merged

Use netstandard1.3 in our tasks library.#5
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3

Conversation

@eerhardt

Copy link
Copy Markdown
Member

I also added the current "Sdk" .props and .targets files from the dotnet/cli repo. We can modify these as we go. Our "Tasks" library will be the first test for these .props and .targets files.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

/cc @natidea@davkean@333fred

<TargetFrameworkVersion>v1.3</TargetFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<None Include="Microsoft.DotNet.Core.Sdk.targets" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this be copied to output?

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.

Not sure. It needs to get packaged into the .nupkg (which is my next step). That will get figured out then.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Okay sounds good.

@333fred

Copy link
Copy Markdown
Member

build.cmd fails with this patch, lots of missing assembly and using references.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

build.cmd fails with this patch, lots of missing assembly and using references.

I assume build.cmd will need to call restore before build. Can you try restoring in VS on your machine and then call build.cmd?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

I can work on getting an LKG version of the CLI installed during build.cmd, which will then be able to restore. And we can use "dotnet build3", which will build the solution, instead of relying on msbuild being installed on the box.

@333fred

Copy link
Copy Markdown
Member

Yeah, restore fixed it. For that version of .NET, would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

It will be downloaded "on the fly"

@eerhardt

Copy link
Copy Markdown
MemberAuthor

@333fred - how about now? does it build cleanly on your box with my latest change?

@333fred

Copy link
Copy Markdown
Member

@eerhardt yep, clean build works just fine now, restoring all packages.

Comment threadbuild.ps1 Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

will the space here throw off the arg parsing when passing it through to msbuild?

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.

Doesn't appear to on my box. It failed when this wasn't supplied. It passes now.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not as familiar with PS quoting defaults as bash, thanks for the clarification.

@natidea

Copy link
Copy Markdown
Contributor

:shipit:

@eerhardt
eerhardt merged commit e911e26 into dotnet:masterAug 3, 2016
@eerhardt
eerhardt deleted the UseNetstandard1.3 branch August 3, 2016 02:34
nguerrera pushed a commit that referenced this pull request Oct 10, 2016
Use netstandard1.3 in our tasks library.
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
Fixing the MsBuild version in the tasks assembly
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 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 14, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 18, 2026
Build #4 failed due to pre-existing flaky dotnet-watch test:
ProjectAndSourceFileChange_AddPackageReference (Assert.Equal 1 vs 0)
This is not related to our PR changes. Restarting streak count.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

4 participants

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

Use netstandard1.3 in our tasks library. - #5

Merged
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3
Aug 3, 2016
Merged

Use netstandard1.3 in our tasks library.#5
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3

Conversation

@eerhardt

Copy link
Copy Markdown
Member

I also added the current "Sdk" .props and .targets files from the dotnet/cli repo. We can modify these as we go. Our "Tasks" library will be the first test for these .props and .targets files.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

/cc @natidea@davkean@333fred

<TargetFrameworkVersion>v1.3</TargetFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<None Include="Microsoft.DotNet.Core.Sdk.targets" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this be copied to output?

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.

Not sure. It needs to get packaged into the .nupkg (which is my next step). That will get figured out then.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Okay sounds good.

@333fred

Copy link
Copy Markdown
Member

build.cmd fails with this patch, lots of missing assembly and using references.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

build.cmd fails with this patch, lots of missing assembly and using references.

I assume build.cmd will need to call restore before build. Can you try restoring in VS on your machine and then call build.cmd?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

I can work on getting an LKG version of the CLI installed during build.cmd, which will then be able to restore. And we can use "dotnet build3", which will build the solution, instead of relying on msbuild being installed on the box.

@333fred

Copy link
Copy Markdown
Member

Yeah, restore fixed it. For that version of .NET, would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

It will be downloaded "on the fly"

@eerhardt

Copy link
Copy Markdown
MemberAuthor

@333fred - how about now? does it build cleanly on your box with my latest change?

@333fred

Copy link
Copy Markdown
Member

@eerhardt yep, clean build works just fine now, restoring all packages.

Comment threadbuild.ps1 Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

will the space here throw off the arg parsing when passing it through to msbuild?

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.

Doesn't appear to on my box. It failed when this wasn't supplied. It passes now.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not as familiar with PS quoting defaults as bash, thanks for the clarification.

@natidea

Copy link
Copy Markdown
Contributor

:shipit:

@eerhardt
eerhardt merged commit e911e26 into dotnet:masterAug 3, 2016
@eerhardt
eerhardt deleted the UseNetstandard1.3 branch August 3, 2016 02:34
nguerrera pushed a commit that referenced this pull request Oct 10, 2016
Use netstandard1.3 in our tasks library.
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
Fixing the MsBuild version in the tasks assembly
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 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 14, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 18, 2026
Build #4 failed due to pre-existing flaky dotnet-watch test:
ProjectAndSourceFileChange_AddPackageReference (Assert.Equal 1 vs 0)
This is not related to our PR changes. Restarting streak count.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

4 participants

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

Use netstandard1.3 in our tasks library. - #5

Merged
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3
Aug 3, 2016
Merged

Use netstandard1.3 in our tasks library.#5
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3

Conversation

@eerhardt

Copy link
Copy Markdown
Member

I also added the current "Sdk" .props and .targets files from the dotnet/cli repo. We can modify these as we go. Our "Tasks" library will be the first test for these .props and .targets files.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

/cc @natidea@davkean@333fred

<TargetFrameworkVersion>v1.3</TargetFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<None Include="Microsoft.DotNet.Core.Sdk.targets" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this be copied to output?

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.

Not sure. It needs to get packaged into the .nupkg (which is my next step). That will get figured out then.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Okay sounds good.

@333fred

Copy link
Copy Markdown
Member

build.cmd fails with this patch, lots of missing assembly and using references.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

build.cmd fails with this patch, lots of missing assembly and using references.

I assume build.cmd will need to call restore before build. Can you try restoring in VS on your machine and then call build.cmd?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

I can work on getting an LKG version of the CLI installed during build.cmd, which will then be able to restore. And we can use "dotnet build3", which will build the solution, instead of relying on msbuild being installed on the box.

@333fred

Copy link
Copy Markdown
Member

Yeah, restore fixed it. For that version of .NET, would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

It will be downloaded "on the fly"

@eerhardt

Copy link
Copy Markdown
MemberAuthor

@333fred - how about now? does it build cleanly on your box with my latest change?

@333fred

Copy link
Copy Markdown
Member

@eerhardt yep, clean build works just fine now, restoring all packages.

Comment threadbuild.ps1 Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

will the space here throw off the arg parsing when passing it through to msbuild?

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.

Doesn't appear to on my box. It failed when this wasn't supplied. It passes now.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not as familiar with PS quoting defaults as bash, thanks for the clarification.

@natidea

Copy link
Copy Markdown
Contributor

:shipit:

@eerhardt
eerhardt merged commit e911e26 into dotnet:masterAug 3, 2016
@eerhardt
eerhardt deleted the UseNetstandard1.3 branch August 3, 2016 02:34
nguerrera pushed a commit that referenced this pull request Oct 10, 2016
Use netstandard1.3 in our tasks library.
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
Fixing the MsBuild version in the tasks assembly
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 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 14, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 18, 2026
Build #4 failed due to pre-existing flaky dotnet-watch test:
ProjectAndSourceFileChange_AddPackageReference (Assert.Equal 1 vs 0)
This is not related to our PR changes. Restarting streak count.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

4 participants

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

Use netstandard1.3 in our tasks library. - #5

Merged
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3
Aug 3, 2016
Merged

Use netstandard1.3 in our tasks library.#5
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3

Conversation

@eerhardt

Copy link
Copy Markdown
Member

I also added the current "Sdk" .props and .targets files from the dotnet/cli repo. We can modify these as we go. Our "Tasks" library will be the first test for these .props and .targets files.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

/cc @natidea@davkean@333fred

<TargetFrameworkVersion>v1.3</TargetFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<None Include="Microsoft.DotNet.Core.Sdk.targets" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this be copied to output?

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.

Not sure. It needs to get packaged into the .nupkg (which is my next step). That will get figured out then.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Okay sounds good.

@333fred

Copy link
Copy Markdown
Member

build.cmd fails with this patch, lots of missing assembly and using references.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

build.cmd fails with this patch, lots of missing assembly and using references.

I assume build.cmd will need to call restore before build. Can you try restoring in VS on your machine and then call build.cmd?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

I can work on getting an LKG version of the CLI installed during build.cmd, which will then be able to restore. And we can use "dotnet build3", which will build the solution, instead of relying on msbuild being installed on the box.

@333fred

Copy link
Copy Markdown
Member

Yeah, restore fixed it. For that version of .NET, would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

It will be downloaded "on the fly"

@eerhardt

Copy link
Copy Markdown
MemberAuthor

@333fred - how about now? does it build cleanly on your box with my latest change?

@333fred

Copy link
Copy Markdown
Member

@eerhardt yep, clean build works just fine now, restoring all packages.

Comment threadbuild.ps1 Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

will the space here throw off the arg parsing when passing it through to msbuild?

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.

Doesn't appear to on my box. It failed when this wasn't supplied. It passes now.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not as familiar with PS quoting defaults as bash, thanks for the clarification.

@natidea

Copy link
Copy Markdown
Contributor

:shipit:

@eerhardt
eerhardt merged commit e911e26 into dotnet:masterAug 3, 2016
@eerhardt
eerhardt deleted the UseNetstandard1.3 branch August 3, 2016 02:34
nguerrera pushed a commit that referenced this pull request Oct 10, 2016
Use netstandard1.3 in our tasks library.
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
Fixing the MsBuild version in the tasks assembly
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 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 14, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 18, 2026
Build #4 failed due to pre-existing flaky dotnet-watch test:
ProjectAndSourceFileChange_AddPackageReference (Assert.Equal 1 vs 0)
This is not related to our PR changes. Restarting streak count.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

4 participants

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

Use netstandard1.3 in our tasks library. - #5

Merged
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3
Aug 3, 2016
Merged

Use netstandard1.3 in our tasks library.#5
eerhardt merged 2 commits into
dotnet:masterfrom
eerhardt:UseNetstandard1.3

Conversation

@eerhardt

Copy link
Copy Markdown
Member

I also added the current "Sdk" .props and .targets files from the dotnet/cli repo. We can modify these as we go. Our "Tasks" library will be the first test for these .props and .targets files.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

/cc @natidea@davkean@333fred

<TargetFrameworkVersion>v1.3</TargetFrameworkVersion>
</PropertyGroup>
<ItemGroup>
<None Include="Microsoft.DotNet.Core.Sdk.targets" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this be copied to output?

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.

Not sure. It needs to get packaged into the .nupkg (which is my next step). That will get figured out then.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Okay sounds good.

@333fred

Copy link
Copy Markdown
Member

build.cmd fails with this patch, lots of missing assembly and using references.

@eerhardt

Copy link
Copy Markdown
MemberAuthor

build.cmd fails with this patch, lots of missing assembly and using references.

I assume build.cmd will need to call restore before build. Can you try restoring in VS on your machine and then call build.cmd?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

I can work on getting an LKG version of the CLI installed during build.cmd, which will then be able to restore. And we can use "dotnet build3", which will build the solution, instead of relying on msbuild being installed on the box.

@333fred

Copy link
Copy Markdown
Member

Yeah, restore fixed it. For that version of .NET, would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

@eerhardt

Copy link
Copy Markdown
MemberAuthor

would we have to include it in the repo, or are we going to have to configure Jenkins slaves and microbuild instances with those binaries?

It will be downloaded "on the fly"

@eerhardt

Copy link
Copy Markdown
MemberAuthor

@333fred - how about now? does it build cleanly on your box with my latest change?

@333fred

Copy link
Copy Markdown
Member

@eerhardt yep, clean build works just fine now, restoring all packages.

Comment threadbuild.ps1 Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

will the space here throw off the arg parsing when passing it through to msbuild?

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.

Doesn't appear to on my box. It failed when this wasn't supplied. It passes now.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not as familiar with PS quoting defaults as bash, thanks for the clarification.

@natidea

Copy link
Copy Markdown
Contributor

:shipit:

@eerhardt
eerhardt merged commit e911e26 into dotnet:masterAug 3, 2016
@eerhardt
eerhardt deleted the UseNetstandard1.3 branch August 3, 2016 02:34
nguerrera pushed a commit that referenced this pull request Oct 10, 2016
Use netstandard1.3 in our tasks library.
mmitche pushed a commit to mmitche/sdk that referenced this pull request Jun 5, 2020
Fixing the MsBuild version in the tasks assembly
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 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 13, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 14, 2026
Root causes fixed:
1. MSB4216 task host failures: Export DOTNET_HOST_PATH in Helix test scripts
so MSBuild task host processes resolve the correct runtime.
2. dotnet-watch Aspire test hangs: Cap per-operation timeout at 5 minutes
(was inheriting full 2-hour Helix timeout), close stdin before killing
process tree, add 30s exit timeout in DisposeAsync, bound DCP timeouts
to 300s, fix semaphore deadlock in AspireServiceFactory.DisposeAsync.
3. GZipCompress file lock race: Add retry with exponential backoff for
IOException in BlazorWasm GZipCompress parallel compression loop.
4. NuGet source removal noise: Suppress errors from dotnet nuget remove
commands in Helix scripts that fail when sources don't exist.
5. Hot reload file lock race: Add retry with exponential backoff in
CompilationHandler.UpdateFileContentAsync for IOException when
source files are transiently locked by relaunching processes.
Validation: 8 consecutive passing builds (18/18 jobs each) before
adding fix#5 for a newly-added test (RelaunchOnCrash).
Files changed:
- build/RunTestsOnHelix.sh: DOTNET_HOST_PATH export + NuGet error suppression
- build/RunTestsOnHelix.cmd: DOTNET_HOST_PATH export + NuGet error suppression
- test/Microsoft.DotNet.HotReload.Test.Utilities/AwaitableProcess.cs: 5-min timeout cap
- test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs: DCP timeout bounds
- src/Dotnet.Watch/Watch/Aspire/AspireServiceFactory.cs: Semaphore deadlock fix
- src/BlazorWasmSdk/Tasks/GZipCompress.cs: File lock retry logic
- src/Dotnet.Watch/Watch/HotReload/CompilationHandler.cs: File lock retry logic
- test/TestAssets/Directory.Build.targets: runtimeconfig.json for test tool packages
mmitche added a commit that referenced this pull request Mar 18, 2026
Build #4 failed due to pre-existing flaky dotnet-watch test:
ProjectAndSourceFileChange_AddPackageReference (Assert.Equal 1 vs 0)
This is not related to our PR changes. Restarting streak count.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

4 participants

@eerhardt@333fred@natidea@brthor