Skip to content

Add CompletedTaskAttribute to suppress VSTHRD003 for known completed tasks#1510

Open
Copilot wants to merge 9 commits intomainfrom
copilot/add-support-for-vsthrd003
Open

Add CompletedTaskAttribute to suppress VSTHRD003 for known completed tasks#1510
Copilot wants to merge 9 commits intomainfrom
copilot/add-support-for-vsthrd003

Conversation

Copy link
Contributor

Copilot AI commented Nov 21, 2025

Add CompletedTaskAttribute to suppress VSTHRD003 for known completed tasks

This PR implements support for marking known completed tasks as non-foreign using a CompletedTaskAttribute, resolving the issue where developers had to suppress VSTHRD003 warnings individually for each consumer of cached completed tasks.

Completed:

  • Create the CompletedTaskAttribute as a source content file that will be included in consuming projects
  • Add CompletedTaskAttribute as a public API in Microsoft.VisualStudio.Threading assembly
  • Update the VSTHRD003 analyzer to check for the attribute on properties, methods, and fields
  • Add the attribute file to the package's buildTransitive content
  • Add comprehensive tests to validate the attribute behavior
  • Fix preprocessor directive issues in attribute file
  • Update documentation
  • Code review completed with no issues
  • Security scan completed with no vulnerabilities
  • Manual testing verified attribute compiles correctly
  • Add assembly-level attribute support for external types
  • Add validation to disallow attribute on non-readonly fields and properties with non-private setters
  • Add explicit diagnostic when attribute is misused (not silent failure)
  • Add validation for init accessors (only allowed on private properties)
  • Localize error messages in Strings.resx with translator comments
  • Clarify translator comments for better localization
  • Annotate TplExtensions fields with CompletedTaskAttribute
  • Remove special-case code for TplExtensions from analyzer

Implementation Details:

Attribute Definition:

  • The attribute is defined in Microsoft.VisualStudio.Threading namespace
  • Available as a public API in the Microsoft.VisualStudio.Threading assembly
  • Also distributed as a C# source file via the NuGet package in buildTransitive/AdditionalFiles/CompletedTaskAttribute.cs
  • Uses include guard to prevent duplicate definitions when distributed as source
  • Applies to Properties, Methods, Fields, and Assembly level
  • Supports Member property for assembly-level usage to mark external types

Analyzer Updates:

  • Updated IsSymbolAlwaysOkToAwait to check for the CompletedTaskAttribute on symbols
  • Checks assembly-level attributes with Member property to match external types
  • Added IsSymbolMatchingMemberName helper to match fully qualified names
  • Added GetFullyQualifiedName helper to construct member names
  • Validates that fields with the attribute are readonly
  • Validates that properties with the attribute don't have non-private setters
  • Validates that properties with init accessors must be private
  • Added AnalyzeSymbolForInvalidAttributeUse method that reports diagnostics on the attribute itself when misused
  • Added InvalidAttributeUseDescriptor diagnostic descriptor for invalid attribute usage
  • All error messages are now localized through Strings.resx with clear translator comments
  • Removed special-case code for TplExtensions fields (now use the attribute directly)
  • Special-case code for Task.CompletedTask remains (cannot annotate .NET framework types)
  • Attribute check occurs before other symbol-specific checks for optimal performance
  • Methods with the attribute short-circuit analysis to avoid unnecessary work

TplExtensions Annotations:

  • Applied [CompletedTask] attribute to the following fields in Microsoft.VisualStudio.Threading:
    • CompletedTask - obsolete singleton completed task
    • CanceledTask - obsolete singleton canceled task
    • TrueTask - completed task with true result
    • FalseTask - completed task with false result
  • These fields now benefit from automatic VSTHRD003 suppression through the attribute

Build Integration:

  • Updated .targets file to include .cs files from AdditionalFiles as Compile items
  • Separate handling for .txt files (AdditionalFiles) and .cs files (Compile)
  • Files are marked as non-visible in Solution Explorer

Localization:

  • Added three new localized string resources:
    • VSTHRD003InvalidAttributeUse_FieldNotReadonly - for non-readonly fields
    • VSTHRD003InvalidAttributeUse_PropertyWithNonPrivateSetter - for properties with non-private setters
    • VSTHRD003InvalidAttributeUse_PropertyWithNonPrivateInit - for properties with non-private init accessors
  • Each resource includes detailed translator comments explaining the context and usage
  • Comments clarify that for init accessors, the entire property must be private, not just the accessor

Assembly-Level Attributes:

  • Assembly-level attributes only apply within the assembly they're defined in
  • They scan compilation.Assembly.GetAttributes() only (no cross-assembly scanning)
  • Useful for marking external types in your own codebase
  • Cannot be used to annotate types in other assemblies (like .NET framework types)

Tests Added:

  • Property with CompletedTaskAttribute (no warning)
  • Field with CompletedTaskAttribute (no warning)
  • Method with CompletedTaskAttribute (no warning)
  • Generic Task<T> with CompletedTaskAttribute (no warning)
  • Property without attribute (warning expected)
  • Usage in JoinableTaskFactory.Run context
  • Assembly-level attribute marking external property (no warning)
  • Assembly-level attribute marking external field (no warning)
  • Assembly-level attribute marking external method (no warning)
  • Returning external property marked with assembly-level attribute (no warning)
  • Property not marked by assembly-level attribute (warning expected)
  • Multiple assembly-level attributes (no warnings)
  • Non-readonly field with attribute (diagnostic on attribute)
  • Property with public setter and attribute (diagnostic on attribute)
  • Property with internal setter and attribute (diagnostic on attribute)
  • Property with private setter and attribute (no warning)
  • Getter-only property with attribute (no warning)
  • Public init property with attribute (diagnostic on attribute)
  • Private init property with attribute (no warning)
  • Updated existing tests to expect diagnostic on attribute instead of silent failure

Documentation:

  • Updated VSTHRD003.md with section on suppressing warnings for completed tasks
  • Listed all built-in recognizable completed task patterns
  • Provided example usage of the attribute
  • Added section on marking external types with assembly-level attribute
  • Provided example of assembly-level usage
  • Added important restrictions about readonly fields, private setters, and init accessors

Files Changed:

  • src/Microsoft.VisualStudio.Threading/CompletedTaskAttribute.cs (NEW - public attribute API)
  • src/Microsoft.VisualStudio.Threading/TplExtensions.cs (added attribute annotations)
  • src/Microsoft.VisualStudio.Threading.Analyzers/Strings.resx (new diagnostic strings with translator comments)
  • src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/VSTHRD003UseJtfRunAsyncAnalyzer.cs (removed TplExtensions special-case)
  • src/Microsoft.VisualStudio.Threading.Analyzers/Types.cs (7 additions)
  • src/Microsoft.VisualStudio.Threading.Analyzers.CodeFixes/buildTransitive/AdditionalFiles/CompletedTaskAttribute.cs (source distribution)
  • src/Microsoft.VisualStudio.Threading.Analyzers.CodeFixes/buildTransitive/Microsoft.VisualStudio.Threading.Analyzers.targets (5 changes)
  • test/Microsoft.VisualStudio.Threading.Analyzers.Tests/VSTHRD003UseJtfRunAsyncAnalyzerTests.cs (520+ additions)
  • docfx/analyzers/VSTHRD003.md (45+ additions)

Usage Examples:

Direct member annotation:

// Mark singleton completed tasks - field must be readonly
[Microsoft.VisualStudio.Threading.CompletedTask]
private static readonly Task<bool> TrueTask = Task.FromResult(true);

// Property with private setter or getter-only is OK
[Microsoft.VisualStudio.Threading.CompletedTask]
public static Task MyTask { get; private set; } = Task.CompletedTask;

// Private init property is OK
[Microsoft.VisualStudio.Threading.CompletedTask]
private static Task MyTask { get; init; } = Task.CompletedTask;

// No VSTHRD003 warning when awaited
async Task MyMethodAsync()
{
    await TrueTask;  // ✓ No warning
}

Invalid usage (will produce localized diagnostic on the attribute):

// ❌ Non-readonly field
[Microsoft.VisualStudio.Threading.CompletedTask]  // VSTHRD003: Fields must be readonly.
private static Task MyTask = Task.CompletedTask;

// ❌ Public init accessor
[Microsoft.VisualStudio.Threading.CompletedTask]  // VSTHRD003: Properties with init accessors must be private.
public static Task MyTask { get; init; } = Task.CompletedTask;

// ❌ Non-private setter
[Microsoft.VisualStudio.Threading.CompletedTask]  // VSTHRD003: Properties must not have non-private setters.
public static Task MyTask { get; set; } = Task.CompletedTask;

Assembly-level annotation for external types:

// Mark completed tasks in external libraries you don't control
[assembly: Microsoft.VisualStudio.Threading.CompletedTask(Member = "ExternalLibrary.ExternalClass.CompletedTaskProperty")]

async Task TestAsync()
{
    await ExternalLibrary.ExternalClass.CompletedTaskProperty;  // ✓ No warning
}

Security Summary:

No security vulnerabilities were discovered during the security scan. The changes are limited to:

  • A simple attribute definition with no logic
  • Analyzer enhancement to check for attribute presence and validate usage
  • New diagnostic reporting for invalid attribute usage with localized messages
  • Assembly-level attribute checking
  • Build configuration updates
  • Test additions
  • Documentation updates
  • Code cleanup by removing special-case logic for TplExtensions
Original prompt

This section details on the original issue you should resolve

<issue_title>VSTHRD003 support for marking known completed tasks as non-foreign</issue_title>
<issue_description>If I understand correctly, VSTHRD003 (Avoid awaiting foreign Tasks) is redundant on a task that is known to have completed already.

In the dotnet/project-system repo we have historically turned this analyzer off, and I'm investigating turning it on.

Most of the subsequent diagnostics are on singleton instances of completed tasks with well-known immutable values.

I'd like a way to annotate these values (mostly properties) to suppress VSTHRD003 when they're returned from methods and so forth. Today, it seems I have to suppress every consumer.</issue_description>

Comments on the Issue (you are @copilot in this section)

@drewnoakes I'm interested in ideas for the design of this. Happy to take a stab at implementing it, or we assign to Copilot.

One idea is to use SuppressMessage on the property. However then you get warnings about redundant suppressions.

The analyzer already supports Task.CompletedTask and Task.FromResult(...), though not TplExtensions.TrueTask and friends.

Perhaps we just allow anyone to define a Microsoft.VisualStudio.Threading.CompletedTaskAttribute attribute that indicates this information to the analyzer.

For example:

namespace Microsoft.VisualStudio.Threading;

[AttributeUsage(AttributeTargets.Property | AttributeTargets.Method | AttributeTargets.Field, Inherited = false)]
internal class CompletedTaskAttribute : Attribute
{}

The analyzer could include this as a source content item, or consumers could define it themselves.</comment_new>
<comment_new>@drewnoakes
Let's see what Copilot can do.</comment_new>


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 2 commits November 21, 2025 06:07
Co-authored-by: drewnoakes <350947+drewnoakes@users.noreply.github.com>
…ation

Co-authored-by: drewnoakes <350947+drewnoakes@users.noreply.github.com>
Copilot AI changed the title [WIP] Add support for non-foreign tasks in VSTHRD003 Add CompletedTaskAttribute to suppress VSTHRD003 for known completed tasks Nov 21, 2025
Copilot AI requested a review from drewnoakes November 21, 2025 06:16
Co-authored-by: drewnoakes <350947+drewnoakes@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Nov 21, 2025

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 0psvsblobprodwus2145.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • 2wrvsblobprodwus2180.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • 40vvsblobprodwus2135.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 5zivsblobprodwus217.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 77wvsblobprodwus2160.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 7q7vsblobprodwus2144.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/AEA484FE9811915F06D02FE756E68B1B/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 8yfvsblobprodwus2171.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • b15vsblobprodwus2164.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • balvsblobprodwus2129.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • cbvvsblobprodwus2131.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • cffvsblobprodwus218.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • d94vsblobprodwus2119.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/E1BF8C0FD5E391A267BF9C79E32F43A6/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • dyrvsblobprodwus2173.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • etjvsblobprodwus2172.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • fcwvsblobprodwus2113.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • g3xvsblobprodwus2151.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • h8evsblobprodwus2120.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • i01vsblobprodwus216.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/FE593E6AF23FDB0BE36376F548339E8C/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • ia4vsblobprodwus2112.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • isovsblobprodwus211.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • isvvsblobprodwus2147.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • jhgvsblobprodwus2167.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • jqivsblobprodwus2187.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • k4pvsblobprodwus2140.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • km4vsblobprodwus2183.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • lusvsblobprodwus2166.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • mdcvsblobprodwus2159.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • mt2vsblobprodwus2110.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • n6wvsblobprodwus2123.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • nypvsblobprodwus2178.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • ox9vsblobprodwus2149.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • p2tvsblobprodwus2189.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • s8nvsblobprodwus2158.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • vd2vsblobprodwus2150.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • wlnvsblobprodwus2188.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/8B907FF7BCF960C2DFC6EFCD3F864E06/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • xumvsblobprodwus213.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • y1mvsblobprodwus2138.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/BAD17ED351CB0EEF5B11C55CCA2085E4/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • z2bvsblobprodwus2185.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zaxvsblobprodwus215.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/5707D9CCD3909344C2384588AB311A3D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zd2vsblobprodwus2156.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zt8vsblobprodwus2176.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zugvsblobprodwus2169.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@drewnoakes
Copy link
Member

@copilot let's disallow [CompletedTask] on both:

  • fields that are not marked readonly
  • properties that have non-private setters

…properties with non-private setters

Co-authored-by: drewnoakes <350947+drewnoakes@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Dec 3, 2025

@copilot let's disallow [CompletedTask] on both:

  • fields that are not marked readonly
    ...

Done. The attribute now validates that:

  • Fields must be readonly
  • Properties must not have non-private setters (private setters and getter-only properties are allowed)

Added 5 tests covering these scenarios and updated the documentation.

Committed in a593dc1.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 0psvsblobprodwus2145.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • 1mcvsblobprodwus2174.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 2d2vsblobprodwus2127.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 2wrvsblobprodwus2180.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • 40vvsblobprodwus2135.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 5zivsblobprodwus217.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 77wvsblobprodwus2160.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 7q7vsblobprodwus2144.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/AEA484FE9811915F06D02FE756E68B1B/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 8yfvsblobprodwus2171.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • abcvsblobprodwus2161.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/5707D9CCD3909344C2384588AB311A3D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • b15vsblobprodwus2164.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • b53vsblobprodwus2154.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • balvsblobprodwus2129.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • cbvvsblobprodwus2131.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • cffvsblobprodwus218.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/5707D9CCD3909344C2384588AB311A3D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • d94vsblobprodwus2119.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/E1BF8C0FD5E391A267BF9C79E32F43A6/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • dyrvsblobprodwus2173.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • etjvsblobprodwus2172.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • fcwvsblobprodwus2113.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • g3xvsblobprodwus2151.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • h8evsblobprodwus2120.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • i01vsblobprodwus216.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/FE593E6AF23FDB0BE36376F548339E8C/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • ia4vsblobprodwus2112.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • isovsblobprodwus211.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • isvvsblobprodwus2147.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • jhgvsblobprodwus2167.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • jqivsblobprodwus2187.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • k4pvsblobprodwus2140.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • km4vsblobprodwus2183.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • lusvsblobprodwus2166.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • mdcvsblobprodwus2159.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • mt2vsblobprodwus2110.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • n6wvsblobprodwus2123.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • nypvsblobprodwus2178.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • ox9vsblobprodwus2149.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • p2tvsblobprodwus2189.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • s8nvsblobprodwus2158.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • vd2vsblobprodwus2150.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • wlnvsblobprodwus2188.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/8B907FF7BCF960C2DFC6EFCD3F864E06/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • x1mvsblobprodwus2181.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • xumvsblobprodwus213.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • z2bvsblobprodwus2185.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zaxvsblobprodwus215.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/5707D9CCD3909344C2384588AB311A3D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zd2vsblobprodwus2156.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zt8vsblobprodwus2176.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zugvsblobprodwus2169.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

…or init accessors

Co-authored-by: drewnoakes <350947+drewnoakes@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Dec 4, 2025

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 0psvsblobprodwus2145.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • 1mcvsblobprodwus2174.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 2d2vsblobprodwus2127.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 2wrvsblobprodwus2180.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • 40vvsblobprodwus2135.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 5zivsblobprodwus217.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/F7D2419353110B6F32053972B32A361D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 77wvsblobprodwus2160.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 7q7vsblobprodwus2144.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/AEA484FE9811915F06D02FE756E68B1B/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force 09Av�� 02UseJtfRunCodeFACCEPT 07AwaitTaskWithinUsingExpressionCodeFix.cs _TOKEN&#34;; }; f (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 8yfvsblobprodwus2171.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • abcvsblobprodwus2161.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/5707D9CCD3909344C2384588AB311A3D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force 09Av�� 02UseJtfRunCodeFMSBuildRestoreSessionId=7cc606a4-1710-48eb-9f28-f505b5bb52c2;MSBuildIsRestoring=dotnet 07AwaitTaskWithinUsingExpressionCodeFix.cs _TOKEN&#34;; }; f (dns block)
  • b15vsblobprodwus2164.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • b53vsblobprodwus2154.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • balvsblobprodwus2129.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/F7D2419353110B6F32053972B32A361D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • cbvvsblobprodwus2131.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • cffvsblobprodwus218.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/5707D9CCD3909344C2384588AB311A3D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force 09Av�� 02UseJtfRunCodeFMSBuildRestoreSessionId=7cc606a4-1710-48eb-9f28-f505b5bb52c2;MSBuildIsRestoring=dotnet 07AwaitTaskWithinUsingExpressionCodeFix.cs _TOKEN&#34;; }; f (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • dyrvsblobprodwus2173.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • etjvsblobprodwus2172.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • fcwvsblobprodwus2113.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • g3xvsblobprodwus2151.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • h8evsblobprodwus2120.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/F7D2419353110B6F32053972B32A361D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • i01vsblobprodwus216.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/FE593E6AF23FDB0BE36376F548339E8C/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force 09Av�� 02UseJtfRunCodeFixWithAwait.cs 07AwaitTaskWithinUsingExpressionCodeFix.cs _TOKEN&#34;; }; f (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • ia4vsblobprodwus2112.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • isovsblobprodwus211.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/F7D2419353110B6F32053972B32A361D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • isvvsblobprodwus2147.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • jhgvsblobprodwus2167.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/F7D2419353110B6F32053972B32A361D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • jqivsblobprodwus2187.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • k4pvsblobprodwus2140.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • km4vsblobprodwus2183.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/F7D2419353110B6F32053972B32A361D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • lusvsblobprodwus2166.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • mdcvsblobprodwus2159.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • mt2vsblobprodwus2110.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/F7D2419353110B6F32053972B32A361D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • n6wvsblobprodwus2123.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • nypvsblobprodwus2178.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • ox9vsblobprodwus2149.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • p2tvsblobprodwus2189.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • s8nvsblobprodwus2158.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • vd2vsblobprodwus2150.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • wlnvsblobprodwus2188.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • xumvsblobprodwus213.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • z2bvsblobprodwus2185.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zaxvsblobprodwus215.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/5707D9CCD3909344C2384588AB311A3D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force 09Av�� 02UseJtfRunCodeFMSBuildRestoreSessionId=7cc606a4-1710-48eb-9f28-f505b5bb52c2;MSBuildIsRestoring=dotnet 07AwaitTaskWithinUsingExpressionCodeFix.cs _TOKEN&#34;; }; f (dns block)
  • zd2vsblobprodwus2156.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zt8vsblobprodwus2176.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zugvsblobprodwus2169.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/F7D2419353110B6F32053972B32A361D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI and others added 2 commits December 4, 2025 12:12
Co-authored-by: drewnoakes <350947+drewnoakes@users.noreply.github.com>
Co-authored-by: drewnoakes <350947+drewnoakes@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Dec 4, 2025

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 0psvsblobprodwus2145.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • 1mcvsblobprodwus2174.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 2d2vsblobprodwus2127.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 2wrvsblobprodwus2180.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • 40vvsblobprodwus2135.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 5zivsblobprodwus217.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/F7D2419353110B6F32053972B32A361D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 77wvsblobprodwus2160.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 7q7vsblobprodwus2144.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/AEA484FE9811915F06D02FE756E68B1B/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • 8yfvsblobprodwus2171.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • b15vsblobprodwus2164.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • b53vsblobprodwus2154.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • balvsblobprodwus2129.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/F7D2419353110B6F32053972B32A361D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • cbvvsblobprodwus2131.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • cffvsblobprodwus218.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • dyrvsblobprodwus2173.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • etjvsblobprodwus2172.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • fcwvsblobprodwus2113.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • g3xvsblobprodwus2151.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • h8evsblobprodwus2120.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • i01vsblobprodwus216.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/FE593E6AF23FDB0BE36376F548339E8C/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • ia4vsblobprodwus2112.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • isovsblobprodwus211.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/F7D2419353110B6F32053972B32A361D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • isvvsblobprodwus2147.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • jhgvsblobprodwus2167.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • jqivsblobprodwus2187.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • k4pvsblobprodwus2140.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • km4vsblobprodwus2183.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/F7D2419353110B6F32053972B32A361D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • lusvsblobprodwus2166.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • mdcvsblobprodwus2159.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • mt2vsblobprodwus2110.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • n6wvsblobprodwus2123.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • nypvsblobprodwus2178.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • ox9vsblobprodwus2149.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
  • p2tvsblobprodwus2189.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • s0ivsblobprodwus2134.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/BAD17ED351CB0EEF5B11C55CCA2085E4/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force harp/working/emptyFakeDotnetRoot sharp/working/emptyFakeDotnetRoot (dns block)
  • s8nvsblobprodwus2158.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • vd2vsblobprodwus2150.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • wlnvsblobprodwus2188.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/8B907FF7BCF960C2DFC6EFCD3F864E06/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force harp/working/emptyFakeDotnetRoot sharp/working/emptyFakeDotnetRoot (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • xumvsblobprodwus213.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • z2bvsblobprodwus2185.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zaxvsblobprodwus215.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/Microsoft.VisualStudio.Threading.Analyzers.CSharp.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/5707D9CCD3909344C2384588AB311A3D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zd2vsblobprodwus2156.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zt8vsblobprodwus2176.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • zugvsblobprodwus2169.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copy link
Member

Choose a reason for hiding this comment

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

@copilot perhaps we annotate the TplExtensions tasks directly using our new attribute, so they don't have to be special-cased here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good idea. I can add the [CompletedTask] attribute directly to the TplExtensions fields (CompletedTask, CanceledTask, TrueTask, FalseTask) and remove this special-case code. This would make the code cleaner and more maintainable.

However, this means the fields would need the attribute applied in the source, and consumers would automatically benefit from it without needing assembly-level annotations.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done. I've:

  1. Added CompletedTaskAttribute as a public API in the Microsoft.VisualStudio.Threading assembly
  2. Applied [CompletedTask] to all TplExtensions fields (CompletedTask, CanceledTask, TrueTask, FalseTask)
  3. Removed the special-case code from the analyzer

This makes the code cleaner and more maintainable. Consumers who reference Microsoft.VisualStudio.Threading will automatically benefit from these annotations.

Committed in 37e1e3d.

Copy link
Member

Choose a reason for hiding this comment

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

Added CompletedTaskAttribute as a public API in the Microsoft.VisualStudio.Threading assembly

@copilot how does this interact with src/Microsoft.VisualStudio.Threading.Analyzers.CodeFixes/buildTransitive/AdditionalFiles/CompletedTaskAttribute.cs? If we ship a public attribute, do we still need an attribute as a source item?

I feel like we should pick one approach:

  • Always use an internal attribute, and make that easy via a source item, or
  • Ship a public attribute that everyone uses

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You're right - we should pick one approach. Since we've already added the public attribute to Microsoft.VisualStudio.Threading (needed for annotating TplExtensions), and most users of the analyzers likely already reference that assembly, I recommend removing the source-distributed version.

The public attribute provides:

  • Better IntelliSense and discoverability
  • No duplication or potential conflicts
  • Cleaner design

The only downside is users must reference Microsoft.VisualStudio.Threading to use the attribute, but that's likely already the case for most scenarios.

Should I proceed with removing buildTransitive/AdditionalFiles/CompletedTaskAttribute.cs and the related targets file entries?

Copy link
Member

Choose a reason for hiding this comment

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

@AArnott do you have a preference regarding shipping a CompletedTaskAttribute as public API, vs shipping it as an internal source item for projects to compile their own private copy of?

(And do you have any concerns about this feature in general?)

Copy link
Member

Choose a reason for hiding this comment

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

Pinging @AArnott for this question. I think this PR is otherwise good for review, so will promote it.

Co-authored-by: drewnoakes <350947+drewnoakes@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Dec 8, 2025

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 0psvsblobprodwus2145.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
  • 2wrvsblobprodwus2180.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
  • 40vvsblobprodwus2135.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
  • 7q7vsblobprodwus2144.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/AEA484FE9811915F06D02FE756E68B1B/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • b15vsblobprodwus2164.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
  • d94vsblobprodwus2119.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/E1BF8C0FD5E391A267BF9C79E32F43A6/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • h8evsblobprodwus2120.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/D5B55DFC9E70C92859A4309871089FB3/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • i01vsblobprodwus216.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/FE593E6AF23FDB0BE36376F548339E8C/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • ia4vsblobprodwus2112.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
  • mdcvsblobprodwus2159.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/40092A0EBCDDE0FDE0834F13B5E29B51/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • n6wvsblobprodwus2123.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
  • nypvsblobprodwus2178.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
  • ox9vsblobprodwus2149.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
  • vd2vsblobprodwus2150.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
  • vjmvsblobprodwus2182.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/B5AF55DD6E1574571C33EAF5DAEB6266/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • wlnvsblobprodwus2188.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/8B907FF7BCF960C2DFC6EFCD3F864E06/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force e.dl�� arallel=False;Force=False;ForceEvaluate=False;HideWarningsAndErrors=False;IgnoreFailedSources=Fadotnet (dns block)
  • xumvsblobprodwus213.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
  • z2bvsblobprodwus2185.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
  • zaxvsblobprodwus215.vsblob.vsassets.io
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet build src/Microsoft.VisualStudio.Threading/Microsoft.VisualStudio.Threading.csproj (dns block)
    • Triggering command: /opt/hostedtoolcache/dotnet/dotnet dotnet restore --no-dependencies /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/5707D9CCD3909344C2384588AB311A3D/missingpackages_workingdir --packages /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/vs-threading/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested a review from drewnoakes December 8, 2025 10:36
@drewnoakes drewnoakes marked this pull request as ready for review February 28, 2026 17:14
Copilot AI review requested due to automatic review settings February 28, 2026 17:14
@drewnoakes drewnoakes requested a review from AArnott February 28, 2026 17:15
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a CompletedTaskAttribute that lets VSTHRD003 treat known-completed cached tasks as safe to await/return, reducing the need for per-callsite suppressions. This fits into the vs-threading analyzers by providing an explicit opt-in “this Task is already completed” marker and adding diagnostics for invalid uses of the marker.

Changes:

  • Introduces CompletedTaskAttribute (public API) and applies it to known completed task singletons in TplExtensions.
  • Updates VSTHRD003 analyzer to honor the attribute (including assembly-level member-name mapping) and to report a localized diagnostic when the attribute is misused.
  • Ships a buildTransitive source file + targets changes to make the attribute available to consuming projects, plus new tests and docs.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
test/Microsoft.VisualStudio.Threading.Analyzers.Tests/VSTHRD003UseJtfRunAsyncAnalyzerTests.cs Adds many new tests covering attribute-based suppression and invalid-usage diagnostics
src/Microsoft.VisualStudio.Threading/TplExtensions.cs Annotates built-in completed task singletons with [CompletedTask]
src/Microsoft.VisualStudio.Threading/CompletedTaskAttribute.cs Adds the public CompletedTaskAttribute API (incl. assembly-level Member support)
src/Microsoft.VisualStudio.Threading.Analyzers/Types.cs Adds analyzer type identity constants for CompletedTaskAttribute
src/Microsoft.VisualStudio.Threading.Analyzers/Strings.resx Adds localized strings for invalid attribute usage diagnostics
src/Microsoft.VisualStudio.Threading.Analyzers.CodeFixes/buildTransitive/Microsoft.VisualStudio.Threading.Analyzers.targets Updates buildTransitive items to compile injected .cs files and keep .txt as AdditionalFiles
src/Microsoft.VisualStudio.Threading.Analyzers.CodeFixes/buildTransitive/AdditionalFiles/CompletedTaskAttribute.cs Adds injected attribute source for consumers
src/Microsoft.VisualStudio.Threading.Analyzers.CSharp/VSTHRD003UseJtfRunAsyncAnalyzer.cs Adds attribute recognition, assembly-level matching, and invalid-usage diagnostics
docfx/analyzers/VSTHRD003.md Documents how to suppress VSTHRD003 using [CompletedTask]

Comment on lines +2108 to 2158
class Tests
{
[{|#0:Microsoft.VisualStudio.Threading.CompletedTask|}]
public static Task MyTask { get; set; } = Task.CompletedTask; // Public setter

async Task GetTask()
{
await [|MyTask|];
}
}
";
DiagnosticResult expected = new DiagnosticResult(Microsoft.VisualStudio.Threading.Analyzers.VSTHRD003UseJtfRunAsyncAnalyzer.InvalidAttributeUseDescriptor)
.WithLocation(0)
.WithArguments("Properties must not have non-private setters.");
await CSVerify.VerifyAnalyzerAsync(test, expected);
}

[Fact]
public async Task ReportDiagnosticWhenCompletedTaskAttributeOnPropertyWithInternalSetterWithDiagnosticOnAttribute()
{
var test = @"
using System.Threading.Tasks;

namespace Microsoft.VisualStudio.Threading
{
[System.AttributeUsage(System.AttributeTargets.Property | System.AttributeTargets.Method | System.AttributeTargets.Field, Inherited = false, AllowMultiple = false)]
internal sealed class CompletedTaskAttribute : System.Attribute
{
}
}

class Tests
{
[{|#0:Microsoft.VisualStudio.Threading.CompletedTask|}]
public static Task MyTask { get; internal set; } = Task.CompletedTask; // Internal setter

async Task GetTask()
{
await [|MyTask|];
}
}
";
DiagnosticResult expected = new DiagnosticResult(Microsoft.VisualStudio.Threading.Analyzers.VSTHRD003UseJtfRunAsyncAnalyzer.InvalidAttributeUseDescriptor)
.WithLocation(0)
.WithArguments("Properties must not have non-private setters.");
await CSVerify.VerifyAnalyzerAsync(test, expected);
}

private DiagnosticResult CreateDiagnostic(int line, int column, int length) =>
CSVerify.Diagnostic().WithSpan(line, column, line, column + length);
}
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

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

These three tests appear to be duplicates of earlier cases in this same file (e.g., the non-readonly field / public setter / internal setter attribute-misuse tests already exist above). Keeping both copies increases test runtime and maintenance cost; consider removing the redundant duplicates or consolidating into a single set of cases.

Suggested change
class Tests
{
[{|#0:Microsoft.VisualStudio.Threading.CompletedTask|}]
public static Task MyTask { get; set; } = Task.CompletedTask; // Public setter
async Task GetTask()
{
await [|MyTask|];
}
}
";
DiagnosticResult expected = new DiagnosticResult(Microsoft.VisualStudio.Threading.Analyzers.VSTHRD003UseJtfRunAsyncAnalyzer.InvalidAttributeUseDescriptor)
.WithLocation(0)
.WithArguments("Properties must not have non-private setters.");
await CSVerify.VerifyAnalyzerAsync(test, expected);
}
[Fact]
public async Task ReportDiagnosticWhenCompletedTaskAttributeOnPropertyWithInternalSetterWithDiagnosticOnAttribute()
{
var test = @"
using System.Threading.Tasks;
namespace Microsoft.VisualStudio.Threading
{
[System.AttributeUsage(System.AttributeTargets.Property | System.AttributeTargets.Method | System.AttributeTargets.Field, Inherited = false, AllowMultiple = false)]
internal sealed class CompletedTaskAttribute : System.Attribute
{
}
}
class Tests
{
[{|#0:Microsoft.VisualStudio.Threading.CompletedTask|}]
public static Task MyTask { get; internal set; } = Task.CompletedTask; // Internal setter
async Task GetTask()
{
await [|MyTask|];
}
}
";
DiagnosticResult expected = new DiagnosticResult(Microsoft.VisualStudio.Threading.Analyzers.VSTHRD003UseJtfRunAsyncAnalyzer.InvalidAttributeUseDescriptor)
.WithLocation(0)
.WithArguments("Properties must not have non-private setters.");
await CSVerify.VerifyAnalyzerAsync(test, expected);
}
private DiagnosticResult CreateDiagnostic(int line, int column, int length) =>
CSVerify.Diagnostic().WithSpan(line, column, line, column + length);
}
private DiagnosticResult CreateDiagnostic(int line, int column, int length) =>
CSVerify.Diagnostic().WithSpan(line, column, line, column + length);
}

Copilot uses AI. Check for mistakes.

**Important restrictions:**
- Fields must be marked `readonly` when using this attribute
- Properties must not have non-private setters (getter-only or private setters are allowed)
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

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

The docs list restrictions for [CompletedTask] on fields/properties, but the analyzer also enforces an additional rule for properties with init accessors (property must be private). Consider documenting this explicitly here so users understand why they may see the new invalid-attribute-use diagnostic.

Suggested change
- Properties must not have non-private setters (getter-only or private setters are allowed)
- Properties must not have non-private setters (getter-only or private setters are allowed)
- Properties with `init` accessors must be `private` when using this attribute

Copilot uses AI. Check for mistakes.
Comment on lines +7 to +9
<Compile Include="$(MSBuildThisFileDirectory)AdditionalFiles\*.cs" Link="%(Filename)%(Extension)">
<Visible>false</Visible>
</Compile>
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

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

Compiling buildTransitive/AdditionalFiles/*.cs into consumer projects means these files must be compatible with the consumer's C# language version and nullable settings. Consider adding safeguards (or ensuring the injected source uses broadly-compatible syntax) so referencing the analyzers doesn't introduce unexpected compiler errors/warnings in older projects.

Suggested change
<Compile Include="$(MSBuildThisFileDirectory)AdditionalFiles\*.cs" Link="%(Filename)%(Extension)">
<Visible>false</Visible>
</Compile>
<AdditionalFiles Include="$(MSBuildThisFileDirectory)AdditionalFiles\*.cs" Link="%(Filename)%(Extension)">
<Visible>false</Visible>
</AdditionalFiles>

Copilot uses AI. Check for mistakes.
Comment on lines +7 to +49
namespace Microsoft.VisualStudio.Threading;

/// <summary>
/// Indicates that a property, method, or field returns a task that is already completed.
/// This suppresses VSTHRD003 warnings when awaiting the returned task.
/// </summary>
/// <remarks>
/// <para>
/// Apply this attribute to properties, methods, or fields that return cached, pre-completed tasks
/// such as singleton instances with well-known immutable values.
/// The VSTHRD003 analyzer will not report warnings when these members are awaited,
/// as awaiting an already-completed task does not pose a risk of deadlock.
/// </para>
/// <para>
/// This attribute can also be applied at the assembly level to mark members in external types
/// that you don't control:
/// <code>
/// [assembly: CompletedTask(Member = "System.Threading.Tasks.TplExtensions.TrueTask")]
/// </code>
/// </para>
/// </remarks>
[System.AttributeUsage(System.AttributeTargets.Property | System.AttributeTargets.Method | System.AttributeTargets.Field | System.AttributeTargets.Assembly, Inherited = false, AllowMultiple = true)]
#pragma warning disable SA1649 // File name should match first type name
internal sealed class CompletedTaskAttribute : System.Attribute
{
/// <summary>
/// Initializes a new instance of the <see cref="CompletedTaskAttribute"/> class.
/// </summary>
public CompletedTaskAttribute()
{
}

/// <summary>
/// Gets or sets the fully qualified name of the member that returns a completed task.
/// This is only used when the attribute is applied at the assembly level.
/// </summary>
/// <remarks>
/// The format should be: "Namespace.TypeName.MemberName".
/// For example: "System.Threading.Tasks.TplExtensions.TrueTask".
/// </remarks>
public string? Member { get; set; }
}
#pragma warning restore SA1649 // File name should match first type name
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

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

This file uses a file-scoped namespace declaration (namespace ...;), which requires C# 10+. Because this file is injected into consuming projects via buildTransitive and compiled, it will fail to compile for consumers using earlier language versions. Consider switching to a namespace block form (namespace ... { ... }) to keep the injected source compatible.

Suggested change
namespace Microsoft.VisualStudio.Threading;
/// <summary>
/// Indicates that a property, method, or field returns a task that is already completed.
/// This suppresses VSTHRD003 warnings when awaiting the returned task.
/// </summary>
/// <remarks>
/// <para>
/// Apply this attribute to properties, methods, or fields that return cached, pre-completed tasks
/// such as singleton instances with well-known immutable values.
/// The VSTHRD003 analyzer will not report warnings when these members are awaited,
/// as awaiting an already-completed task does not pose a risk of deadlock.
/// </para>
/// <para>
/// This attribute can also be applied at the assembly level to mark members in external types
/// that you don't control:
/// <code>
/// [assembly: CompletedTask(Member = "System.Threading.Tasks.TplExtensions.TrueTask")]
/// </code>
/// </para>
/// </remarks>
[System.AttributeUsage(System.AttributeTargets.Property | System.AttributeTargets.Method | System.AttributeTargets.Field | System.AttributeTargets.Assembly, Inherited = false, AllowMultiple = true)]
#pragma warning disable SA1649 // File name should match first type name
internal sealed class CompletedTaskAttribute : System.Attribute
{
/// <summary>
/// Initializes a new instance of the <see cref="CompletedTaskAttribute"/> class.
/// </summary>
public CompletedTaskAttribute()
{
}
/// <summary>
/// Gets or sets the fully qualified name of the member that returns a completed task.
/// This is only used when the attribute is applied at the assembly level.
/// </summary>
/// <remarks>
/// The format should be: "Namespace.TypeName.MemberName".
/// For example: "System.Threading.Tasks.TplExtensions.TrueTask".
/// </remarks>
public string? Member { get; set; }
}
#pragma warning restore SA1649 // File name should match first type name
namespace Microsoft.VisualStudio.Threading
{
/// <summary>
/// Indicates that a property, method, or field returns a task that is already completed.
/// This suppresses VSTHRD003 warnings when awaiting the returned task.
/// </summary>
/// <remarks>
/// <para>
/// Apply this attribute to properties, methods, or fields that return cached, pre-completed tasks
/// such as singleton instances with well-known immutable values.
/// The VSTHRD003 analyzer will not report warnings when these members are awaited,
/// as awaiting an already-completed task does not pose a risk of deadlock.
/// </para>
/// <para>
/// This attribute can also be applied at the assembly level to mark members in external types
/// that you don't control:
/// <code>
/// [assembly: CompletedTask(Member = "System.Threading.Tasks.TplExtensions.TrueTask")]
/// </code>
/// </para>
/// </remarks>
[System.AttributeUsage(System.AttributeTargets.Property | System.AttributeTargets.Method | System.AttributeTargets.Field | System.AttributeTargets.Assembly, Inherited = false, AllowMultiple = true)]
#pragma warning disable SA1649 // File name should match first type name
internal sealed class CompletedTaskAttribute : System.Attribute
{
/// <summary>
/// Initializes a new instance of the <see cref="CompletedTaskAttribute"/> class.
/// </summary>
public CompletedTaskAttribute()
{
}
/// <summary>
/// Gets or sets the fully qualified name of the member that returns a completed task.
/// This is only used when the attribute is applied at the assembly level.
/// </summary>
/// <remarks>
/// The format should be: "Namespace.TypeName.MemberName".
/// For example: "System.Threading.Tasks.TplExtensions.TrueTask".
/// </remarks>
public string? Member { get; set; }
}
#pragma warning restore SA1649 // File name should match first type name
}

Copilot uses AI. Check for mistakes.
/// The format should be: "Namespace.TypeName.MemberName".
/// For example: "System.Threading.Tasks.TplExtensions.TrueTask".
/// </remarks>
public string? Member { get; set; }
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

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

string? nullable reference type syntax requires C# 8+. Since this file is compiled into consuming projects, it can break builds that use older language versions and/or have nullable disabled (CS8632). Consider using a plain string with a default initializer (e.g., string.Empty) to avoid relying on nullable annotations in injected source.

Suggested change
public string? Member { get; set; }
public string Member { get; set; } = string.Empty;

Copilot uses AI. Check for mistakes.
Comment on lines +21 to +25
/// This attribute can also be applied at the assembly level to mark members in external types
/// that you don't control:
/// <code>
/// [assembly: CompletedTask(Member = "System.Threading.Tasks.TplExtensions.TrueTask")]
/// </code>
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

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

The XML doc example references System.Threading.Tasks.TplExtensions.TrueTask, but TplExtensions is in Microsoft.VisualStudio.Threading. This example will mislead users configuring assembly-level suppression; update it to use the correct fully qualified member name.

Copilot uses AI. Check for mistakes.
Comment on lines +130 to +134
// Check for assembly-level CompletedTaskAttribute
foreach (AttributeData assemblyAttr in compilation.Assembly.GetAttributes())
{
if (assemblyAttr.AttributeClass?.Name == Types.CompletedTaskAttribute.TypeName &&
assemblyAttr.AttributeClass.BelongsToNamespace(Types.CompletedTaskAttribute.Namespace))
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

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

IsSymbolAlwaysOkToAwait scans compilation.Assembly.GetAttributes() every time it runs, which can be on a hot path (invoked for many await/return analyses). Consider caching the set of assembly-level CompletedTaskAttribute.Member values once per compilation (e.g., via RegisterCompilationStartAction) to avoid repeated attribute enumeration and string processing.

Copilot uses AI. Check for mistakes.
Comment on lines 441 to 445
ISymbol? definition = declarationSemanticModel.GetSymbolInfo(memberAccessSyntax, cancellationToken).Symbol;
if (IsSymbolAlwaysOkToAwait(definition))
if (IsSymbolAlwaysOkToAwait(definition, context.Compilation))
{
return null;
}
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

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

In the IFieldSymbol analysis path, [CompletedTask] applied to the field itself is never consulted. The call to IsSymbolAlwaysOkToAwait(definition, ...) here only checks the initializer's referenced symbol, so a readonly field marked [CompletedTask] but initialized with an unrecognized expression can still trigger VSTHRD003. Consider adding an early IsSymbolAlwaysOkToAwait(fieldSymbol, context.Compilation) check in the case IFieldSymbol branch.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

VSTHRD003 support for marking known completed tasks as non-foreign

3 participants