dotnet / msbuild

The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio.
https://docs.microsoft.com/visualstudio/msbuild/msbuild
MIT License
5.21k stars 1.35k forks source link

ArgumentNullException leading to a VS crash #7453

Open drewnoakes opened 2 years ago

drewnoakes commented 2 years ago

Issue Description

Seeing an ANE crash while debugging VS, after creating a project.

Discovered while researching a hang reported in https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1462801. Perhaps the failures are related.

Steps to Reproduce

Analysis

System.ArgumentNullException: Parameter "packet" cannot be null.
   at Microsoft.Build.Shared.ErrorUtilities.VerifyThrowArgumentNull(Object parameter, String parameterName, String resourceName)
   at Microsoft.Build.BackEnd.NodeProviderOutOfProc.SendData(Int32 nodeId, INodePacket packet)
   at Microsoft.Build.BackEnd.NodeManager.SendData(Int32 node, INodePacket packet)
   at Microsoft.Build.BackEnd.SdkResolution.MainNodeSdkResolverService.PacketReceived(Int32 node, INodePacket packet)
   at Microsoft.Build.BackEnd.NodePacketFactory.PacketFactoryRecord.DeserializeAndRoutePacket(Int32 nodeId, ITranslator translator)
   at Microsoft.Build.BackEnd.NodePacketFactory.DeserializeAndRoutePacket(Int32 nodeId, NodePacketType packetType, ITranslator translator)
   at Microsoft.Build.BackEnd.NodeProviderOutOfProcBase.NodeContext.ReadAndRoutePacket(NodePacketType packetType, Byte[] packetData, Int32 packetLength)
   at Microsoft.Build.BackEnd.NodeProviderOutOfProcBase.NodeContext.BodyReadComplete(IAsyncResult result)
   at System.IO.Pipes.PipeStream.AsyncPSCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOverlapped)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

The ANE originates here:

https://github.com/dotnet/msbuild/blob/9c173296404f9c365cc524569766f16d7cfcf308/src/Build/BackEnd/Components/SdkResolution/MainNodeSdkResolverService.cs#L93

response will be null in the finally block if there was an exception. That null value triggers an exception, which crashes VS in the above scenario.

#nullable enable would flag this issue in the code.

Versions & Configurations

VS 17.2.0 Preview 3.0 [32308.589.main]

jeffkl commented 2 years ago

I updated this code recently but this code path didn't change that much. It used to run inside a throw away task.

https://github.com/dotnet/msbuild/blob/fb700f90493a0bf47623511edf28b1d6c114e4fa/src/Build/BackEnd/Components/SdkResolution/MainNodeSdkResolverService.cs#L152-L179

I wonder if its been throwing for a while? If an exception is thrown, a "fatal build error" is logged, I wonder if we can get those exception details?

This code is handling a request from an out-of-proc node to get the path to an MSBuild project SDK. The out-of-proc node is waiting for a response we need to send something back I think. I really want to know what the exception is...

drewnoakes commented 2 years ago

@jeffkl it should be easy enough to repro with the above steps. Let me know if it doesn't repro for you and we can take a look on my machine.

jeffkl commented 2 years ago

Interesting yeah it repros on 17.1.0 at least which means its not a regression from my recent change. Still not great obviously but it seems like the problem has been around for a while.

I tried debugging my local experimental instance which repro'd the problem but didn't see the exception, how do I get this to happen in a debugger? This is what I tried:

jeffkl commented 2 years ago

@drewnoakes Thanks for filing this, I got it to show me the exception. The .NET SDK resolver is throwing because the solution path is an empty string:

image

image

https://github.com/dotnet/sdk/blob/b69e8f53c6f65fc8f26fefc0cbff03725ee0f8ba/src/Resolvers/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs#L91

I can fix the MSBuild side of things to not throw an unhandled exception and we'll need to update the .NET SDK resolver to handle this as well. I had to make a similar update to the NuGet SDK resolver:

https://github.com/NuGet/NuGet.Client/pull/4335

FYI @rainersigwald @BenVillalobos

jeffkl commented 2 years ago

@BenVillalobos when working on a fix I realized that this is fallout from https://github.com/dotnet/msbuild/pull/6763 which technically is incomplete since it now throws an exception on the main node when an out-of-proc node is requesting SDK resolution. Should the fix be to serialize the SDKResolverException back to the out-of-proc node and throw it there? Otherwise the current APIs only let me send back an error message to the out-of-proc node. ๐Ÿ˜ก

benvillalobos commented 2 years ago

Should the fix be to serialize the SDKResolverException back to the out-of-proc node and throw it there?

this sounds right, I'm not sure how large the work item is. it sounds like a new issue should be filed for it, where this one is specifically to capture the right exception before letting it throw

ArsiIksait commented 1 week ago

I also encountered an ArgumentNullException when I was building a .NET Aspire project using the tool aspirate:

image

PS C:\Users\32512\source\repos\LiveMusicProjectX\AspireApp.AppHost> aspirate.exe init

     _                    _           ___
    / \     ___   _ __   (_)  _ __   ( _ )
   / _ \   / __| | '_ \  | | | '__|  / _ \
  / ___ \  \__ \ | |_) | | | | |    | (_) |
 /_/   \_\ |___/ | .__/  |_| |_|     \___/
                 |_|
Handle deployments of a .NET Aspire AppHost

โ”€โ”€ Handle Initialization Defaults โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
(?) Done: Set 'Container builder' to 'docker'.
Aspirate supports setting a fall-back value for projects that have not yet set a 'ContainerRegistry' in their csproj
file.
Would you like to set a fall-back value for the container registry? [y/n] (n): n
Aspirate supports setting a repository prefix for all for projects.
Would you like to set this value? [y/n] (n): n
(?) Done: Set 'Container fallback tag' to 'latest'.
Aspirate supports setting a custom directory for 'Templates' that are used when generating kustomize manifests.
Would you like to use a custom directory (selecting 'n' will default to built in templates ? [y/n] (n): n
(?) Done: Configuration for aspirate has been bootstrapped successfully at
'C:\Users\32512\source\repos\LiveMusicProjectX\AspireApp.AppHost\.\aspirate.json'.

 ?? Execution Completed ??
PS C:\Users\32512\source\repos\LiveMusicProjectX\AspireApp.AppHost> aspirate generate

     _                    _           ___
    / \     ___   _ __   (_)  _ __   ( _ )
   / _ \   / __| | '_ \  | | | '__|  / _ \
  / ___ \  \__ \ | |_) | | | | |    | (_) |
 /_/   \_\ |___/ | .__/  |_| |_|     \___/
                 |_|
Handle deployments of a .NET Aspire AppHost

โ”€โ”€ Handling Aspirate State โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

โ”€โ”€ Handling Aspirate Secrets โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Secrets are to be protected by a password

Please enter new Password: *
Please enter it again to confirm: *
Secret State has been initialised!.

โ”€โ”€ Handling Configuration โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Successfully loaded existing aspirate bootstrap settings from '.'.

โ”€โ”€ Handling Aspire Manifest โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Generating Aspire Manifest for supplied App Host
(?) Done:  Created Aspire Manifest At Path:
C:\Users\32512\source\repos\LiveMusicProjectX\AspireApp.AppHost\manifest.json

โ”€โ”€ Selecting Required Components โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

โ”€โ”€ Handling Aspire Dashboard โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Would you like to deploy the aspire dashboard and connect the OTLP endpoint? [y/n] (y): y

โ”€โ”€ Handling Inputs โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

โ”€โ”€ Handle Value and Parameter Substitution โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

โ”€โ”€ Handling DAPR Components โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
No Dapr components selected, skipping Dapr annotations.

โ”€โ”€ Gathering Information about deployables โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Gathering container details for each project in selected components
(?) Done:  Populated container details cache for project livemusicserver
Gathering Tasks Completed - Cache Populated.

โ”€โ”€ Handling Projects โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Building all project resources, and pushing containers

Executing: dotnet publish
"C:\Users\32512\source\repos\LiveMusicProjectX\AspireApp.AppHost\../LiveMusicServer/LiveMusicServer.csproj"
-t:PublishContainer --verbosity "quiet" --nologo -r "linux-x64" -p:ContainerRepository="livemusicserver"
-p:ContainerImageTag="latest"
MSBUILD : error MSB4166:
็€›ๆ„ฏๅฆญ้ๅ…‰โ‚ฌ?้ˆฅๆฟŠ็นƒ้ƒโ•…โ‚ฌโ‚ฌ้‘ๆ’โ‚ฌๅ‚›๎„œ้ฆใ„ฅๅง้—‚๎…œโ‚ฌๅ‚šๅฝฒๆต ใƒฅๆนช้ˆฅๆท:\Users\32512\AppData\Local\Temp\MSBuildTemp\้ˆฅๆฟ…่…‘้จๅ‹ฌๆžƒๆต ๆœต่…‘้Žต
ๆƒงๅŸŒ็’‡ๅฉƒๆŸ‡ๆท‡โ„ƒไผ…้”›ๅฑฝ่‹Ÿ็ๅ——ๅพ้›่—‰ๆ‚•ๆถ“?MSBuild_*.failure.txt้Š†ๅ‚žโ‚ฌๆฐณ็นƒ็?MSBUILDDEBUGPATH
้œ๎ˆš๎•จ้™ๆฉ€ๅ™บ็’ๅฅ่ดŸ้ๆœต็ฒฌ้ฉ๎†ผ็ถ้”›ๅฑฝๅฝฒ้‡ๅญ˜ๆ•ผๅงใ‚„็ถ…็ผƒ๎†บโ‚ฌ?
MSBUILD : error MSB4166:
C:\Users\32512\AppData\Local\Temp\MSBuildTemp\MSBuild_pid-11684_35201d88d2ef435f91e00de445495441.failure.txt:
MSBUILD : error MSB4166: UNHANDLED EXCEPTIONS FROM PROCESS 11684:
MSBUILD : error MSB4166: =====================
MSBUILD : error MSB4166: 2024/8/30 4:04:33
MSBUILD : error MSB4166: System.ArgumentNullException: Value cannot be null. (Parameter 'value')
MSBUILD : error MSB4166:    at System.ArgumentNullException.Throw(String paramName)
MSBUILD : error MSB4166:    at System.IO.BinaryWriter.Write(String value)
MSBUILD : error MSB4166:    at Microsoft.Build.Framework.TelemetryEventArgs.WriteToStream(BinaryWriter writer)
MSBUILD : error MSB4166:    at Microsoft.Build.Shared.LogMessagePacketBase.WriteToStream(ITranslator translator)
MSBUILD : error MSB4166:    at Microsoft.Build.BackEnd.NodeEndpointOutOfProcBase.RunReadLoop(Stream localReadPipe,
Stream localWritePipe, ConcurrentQueue`1 localPacketQueue, AutoResetEvent localPacketAvailable, AutoResetEvent
localTerminatePacketPump)
MSBUILD : error MSB4166: ===================
MSBUILD : error MSB4166:
MSBUILD : error MSB4166:

้ˆๅคŠๅฝฒ้ขใ„งๆฎ‘ๅฎธใƒค็ถ”็’็†ปๆต‡้‡ๅญ˜ๆŸŠ้Š†ๅ‚›ๆน้ๅฎ ๎‡›็ผๅ—•ไฟŠ้Žญ๎ˆค็ด็’‡็–ฏ็น็›?`dotnet workload list`้Š†?
(1): Aspirate will now exit.
UNHANDLED EXCEPTIONS FROM PROCESS 9072:
=====================
2024/8/30 4:04:55
System.ArgumentNullException: Value cannot be null. (Parameter 'value')
   at System.ArgumentNullException.Throw(String paramName)
   at System.IO.BinaryWriter.Write(String value)
   at Microsoft.Build.Framework.TelemetryEventArgs.WriteToStream(BinaryWriter writer)
   at Microsoft.Build.Shared.LogMessagePacketBase.WriteToStream(ITranslator translator)
   at Microsoft.Build.BackEnd.NodeEndpointOutOfProcBase.RunReadLoop(Stream localReadPipe, Stream localWritePipe, ConcurrentQueue`1 localPacketQueue, AutoResetEvent localPacketAvailable, AutoResetEvent localTerminatePacketPump)
===================
rainersigwald commented 1 week ago

@ArsiIksait can you update your .NET SDK? That crash should be fixed by https://github.com/dotnet/msbuild/pull/10464.

ArsiIksait commented 1 week ago

@rainersigwald How do I update my .NET SDK? Is it from https://dotnet.microsoft.com/zh-cn/download Install .NET SDK 8.0.401? Or do I need to build this project myself? image

ArsiIksait commented 1 week ago

@rainersigwald Thank you, this problem was solved after I updated it, but then a new problem appeared, I don't know what's happening

Executing: dotnet publish
"C:\Users\32512\source\repos\AspireApp.AppHost\../AspireApp.ApiService/AspireApp.ApiService.csproj" -t:PublishContainer
--verbosity "quiet" --nologo -r "linux-x64" -p:ContainerRepository="apiservice" -p:ContainerImageTag="latest"
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:
้ˆฅๆทreateNewImage้ˆฅๆฟ…ๆข้”โ„ƒๅ‰ฐๆพถๆ งใ‘็’ใƒฃโ‚ฌ?[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:
System.IO.IOException: Received an unexpected EOF or 0 bytes from the transport stream.
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken, Int32
estimatedSize) [C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IV
alueTaskSource<TResult>.GetResult(Int16 token)
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](Memory`1 buffer, CancellationToken cancellationToken)
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IV
alueTaskSource<TResult>.GetResult(Int16 token)
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
System.Net.Http.HttpConnection.FillAsync(Boolean async)
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
System.Net.Http.HttpConnection.CopyToContentLengthAsync(Stream destination, Boolean async, UInt64 length, Int32
bufferSize, CancellationToken cancellationToken)
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
System.Net.Http.HttpConnection.ContentLengthReadStream.CompleteCopyToAsync(Task copyTask, CancellationToken
cancellationToken) [C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
Microsoft.NET.Build.Containers.Registry.DownloadBlobAsync(String repository, Descriptor descriptor, CancellationToken
cancellationToken) in /_/src/Containers/Microsoft.NET.Build.Containers/Registry/Registry.cs:line 337
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
Microsoft.NET.Build.Containers.DockerCli.WriteImageToStreamAsync(BuiltImage image, SourceImageReference sourceReference,
DestinationImageReference destinationReference, Stream imageStream, CancellationToken cancellationToken) in
/_/src/Containers/Microsoft.NET.Build.Containers/LocalDaemons/DockerCli.cs:line 282
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
Microsoft.NET.Build.Containers.DockerCli.LoadAsync(BuiltImage image, SourceImageReference sourceReference,
DestinationImageReference destinationReference, CancellationToken cancellationToken) in
/_/src/Containers/Microsoft.NET.Build.Containers/LocalDaemons/DockerCli.cs:line 104
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
Microsoft.NET.Build.Containers.Tasks.CreateNewImage.PushToLocalRegistryAsync(BuiltImage builtImage, SourceImageReference
sourceImageReference, DestinationImageReference destinationImageReference, Telemetry telemetry, CancellationToken
cancellationToken) in /_/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateNewImage.cs:line 218
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
Microsoft.NET.Build.Containers.Tasks.CreateNewImage.ExecuteAsync(CancellationToken cancellationToken) in
/_/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateNewImage.cs:line 182
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
Microsoft.NET.Build.Containers.Tasks.CreateNewImage.Execute() in
/_/src/Containers/Microsoft.NET.Build.Containers/Tasks/CreateNewImage.cs:line 36
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
Microsoft.Build.BackEnd.TaskExecutionHost.Execute()
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]
C:\Program Files\dotnet\sdk\8.0.401\Containers\build\Microsoft.NET.Build.Containers.targets(242,5): error MSB4018:    at
Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(TaskExecutionHost taskExecutionHost, TaskLoggingContext
taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask)
[C:\Users\32512\source\repos\AspireApp.ApiService\AspireApp.ApiService.csproj]

้ˆๅคŠๅฝฒ้ขใ„งๆฎ‘ๅฎธใƒค็ถ”็’็†ปๆต‡้‡ๅญ˜ๆŸŠ้Š†ๅ‚›ๆน้ๅฎ ๎‡›็ผๅ—•ไฟŠ้Žญ๎ˆค็ด็’‡็–ฏ็น็›?`dotnet workload list`้Š†?
(1): Aspirate will now exit.