Is there an existing issue for this?
Describe the bug
If your project references the Aspire.Hosting.AppHost package, a project metadata class (_AppHost.ProjectMetadata.g.cs) gets auto generated. This generated code violates CS1591 if your project has GenerateDocumentationFile enabled, causing unfixable compiler warnings (if you turn warnings as errors on, this becomes a compiler error)
I'm building a nuget package for an internal package to share, which is why to to generate xml docs, for my package.
// <auto-generated/>
namespace Projects;
[global::System.CodeDom.Compiler.GeneratedCode("Aspire.Hosting", null)]
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage(Justification = "Generated code.")]
[global::System.Diagnostics.DebuggerDisplay("Type = {GetType().Name,nq}, ProjectPath = {ProjectPath}")]
public class aspire91_ServiceDefaults
{
private aspire91_ServiceDefaults() { }
public static string ProjectPath => """S:\aspire91\aspire91.ServiceDefaults""";
}
Expected Behavior
The generated Projects class should either have default xml documentation, or suppress the error with #pragma warning disable
Another option is to only generate the project metadata for executable projects.
Steps To Reproduce
Create the following project with no code files and compile it
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Aspire.Hosting.AppHost" Version="9.2.1" />
</ItemGroup>
</Project>
Exceptions (if any)
Severity Code Description Project File Line Suppression State Details
Error (active) CS1591 The /doc compiler option was specified, but one or more constructs did not have comments. aspire91.ServiceDefaults S:\aspire91\aspire91.ServiceDefaults\obj\Debug\net9.0\Aspire\references\_AppHost.ProjectMetadata.g.cs 8
Error (active) CS1591 The /doc compiler option was specified, but one or more constructs did not have comments. aspire91.ServiceDefaults S:\aspire91\aspire91.ServiceDefaults\obj\Debug\net9.0\Aspire\references\_AppHost.ProjectMetadata.g.cs 11
.NET Version info
No response
Anything else?
The usual workaround is to suppress the error with #pragma warning disable, however that doesn't work as the culprit is generated code I don't control. I have tried to work around this with [SuppressMessage] but haven't been able to get that to work.
[assembly: SuppressMessage("Usage", "CS1591:Missing XML comment for publicly visible type or member",
Justification = "Not production code.",
Scope = "namespaceanddescendants",
Target = "~N:Projects")]
Is there an existing issue for this?
Describe the bug
If your project references the
Aspire.Hosting.AppHostpackage, a project metadata class (_AppHost.ProjectMetadata.g.cs) gets auto generated. This generated code violatesCS1591if your project hasGenerateDocumentationFileenabled, causing unfixable compiler warnings (if you turn warnings as errors on, this becomes a compiler error)I'm building a nuget package for an internal package to share, which is why to to generate xml docs, for my package.
Expected Behavior
The generated Projects class should either have default xml documentation, or suppress the error with
#pragma warning disableAnother option is to only generate the project metadata for executable projects.
Steps To Reproduce
Create the following project with no code files and compile it
Exceptions (if any)
.NET Version info
No response
Anything else?
The usual workaround is to suppress the error with
#pragma warning disable, however that doesn't work as the culprit is generated code I don't control. I have tried to work around this with[SuppressMessage]but haven't been able to get that to work.