.NET Aspire error - Aspire.Hosting.DistributedApplicationException: 'Failed to get effective launch profile for project resource ''.
I’m currently working on 'Aspirifying' (don't know if that is a correct verb' multiple applications. After enabling Aspire for one application, the Aspire Host failed to launch with the following error message:
Aspire.Hosting.DistributedApplicationException: 'Failed to get effective launch profile for project resource '
JsonException: The JSON value could not be converted to System.Nullable`1[System.Boolean]. Path: $.profiles[‘<ProjectName>.API'].dotnetRunMessages | LineNumber: 21 | BytePositionInLine: 33.
I opened up the mentioned launchSettings.json file:
The culprit is the dotnetRunMessages setting where instead of a 'true' string, we should specify a boolean value:
No idea where this setting is coming from, but I certainly never set its value myself. So, I assume that the json structure has changed over time.
Sidenote: What does dotnetRunMessages do?
The dotnetRunMessages property in the launchSettings.json file is used to control whether messages are displayed when running a .NET application using the dotnet run command. This setting provides immediate feedback upon running the application, which can be particularly useful during development.
When set to true, it ensures that messages are displayed in the terminal immediately after running the dotnet run or dotnet watch commands. This should help us understand what is happening during the startup process and can prevent confusion if there is a delay before any output is shown.
It can also make the console output more verbose, providing additional details about the application's execution. This can be beneficial when using tools like dotnet watch inside Visual Studio, as it gives more context about what is happening.
More information
Enabling .NET Aspire for an existing solution
.NET Aspire and launch profiles - .NET Aspire | Microsoft Learn