diff --git a/README.md b/README.md
index 5af178447..1d24576d0 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
-# RSCG - 236 Examples of Roslyn Source Code Generators / 14 created by Microsoft /
+# RSCG - 237 Examples of Roslyn Source Code Generators / 15 created by Microsoft /
-The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 236 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website and code example exports.
+The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 237 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website and code example exports.
This system serves as both a learning resource for .NET developers interested in source generators and an automated pipeline for maintaining up-to-date documentation about the RSCG ecosystem
-## Latest Update : 2025-10-06 => 06 October 2025
+## Latest Update : 2025-11-06 => 06 November 2025
If you want to see examples with code, please click ***[List V2](https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG)***
@@ -24,8 +24,32 @@ If you want to be notified each time I add a new RSCG example , please click htt
## Content
-Those are the 236 Roslyn Source Code Generators that I have tested you can see and download source code example.
-( including 14 from Microsoft )
+Those are the 237 Roslyn Source Code Generators that I have tested you can see and download source code example.
+( including 15 from Microsoft )
+### 237. [Program](https://ignatandrei.github.io/RSCG_Examples/v2/docs/Program) , in the [EnhancementClass](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementclass) category
+
+Generated on : 2025-11-06 => 06 November 2025
+
+
+ Expand
+
+
+
+Author: Microsoft
+
+Provides APIs for annotating route handler endpoints in ASP.NET Core with OpenAPI annotations.
+
+This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/e77cb01b5529c137130757859f09f892dbdd2436
+
+Nuget: [https://www.nuget.org/packages/Microsoft.AspNetCore.OpenApi](https://www.nuget.org/packages/Microsoft.AspNetCore.OpenApi)
+
+
+Link: [https://ignatandrei.github.io/RSCG_Examples/v2/docs/Program](https://ignatandrei.github.io/RSCG_Examples/v2/docs/Program)
+
+Source: [https://github.com/dotnet/aspnetcore/](https://github.com/dotnet/aspnetcore/)
+
+
+
### 236. [validly](https://ignatandrei.github.io/RSCG_Examples/v2/docs/validly) , in the [Validator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#validator) category
Generated on : 2025-10-06 => 06 October 2025
@@ -114,7 +138,7 @@ Source: [https://github.com/hadashiA/VYaml](https://github.com/hadashiA/VYaml)
-### 232. [ConsoleAppFramework](https://ignatandrei.github.io/RSCG_Examples/v2/docs/ConsoleAppFramework) , in the [Console](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#console) category
+### 232. [ConsoleAppFramework](https://ignatandrei.github.io/RSCG_Examples/v2/docs/ConsoleAppFramework) , in the [CommandLine](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#commandline) category
Generated on : 2025-10-02 => 02 October 2025
@@ -2921,7 +2945,7 @@ Source: [https://github.com/bluehands/Funicular-Switch](https://github.com/blueh
-### 108. [CommandLine](https://ignatandrei.github.io/RSCG_Examples/v2/docs/CommandLine) , in the [EnhancementProject](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementproject) category
+### 108. [CommandLine](https://ignatandrei.github.io/RSCG_Examples/v2/docs/CommandLine) , in the [CommandLine](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#commandline) category
Generated on : 2024-02-11 => 11 February 2024
diff --git a/later.md b/later.md
index 82ca010ca..d3b5922c8 100644
--- a/later.md
+++ b/later.md
@@ -1,6 +1,6 @@
# Just later
-## Latest Update : 2025-10-06 => 06 October 2025
+## Latest Update : 2025-11-06 => 06 November 2025
diff --git a/v2/.tours/Program.tour b/v2/.tours/Program.tour
new file mode 100644
index 000000000..27b8a4441
--- /dev/null
+++ b/v2/.tours/Program.tour
@@ -0,0 +1,30 @@
+
+{
+ "$schema": "https://aka.ms/codetour-schema",
+ "title": "Program",
+ "steps":
+ [
+ {
+ "file": "rscg_examples/Program/src/TestProgram/TestProgram.csproj",
+ "description": "First, we add Nuget [Microsoft.AspNetCore.OpenApi](https://www.nuget.org/packages/Microsoft.AspNetCore.OpenApi) in csproj ",
+ "pattern": "Microsoft.AspNetCore.OpenApi"
+ }
+
+ ,{
+ "file": "rscg_examples/Program/src/TestProgram/Program.cs",
+ "description": "File Program.cs \r\n>> dotnet run --project rscg_examples/Program/src/TestProgram/TestProgram.csproj ",
+ "pattern": "this is the code"
+ }
+
+
+ ,{
+ "file": "rscg_examples/Program/src/TestProgram/obj/GX/Microsoft.AspNetCore.App.SourceGenerators/Microsoft.AspNetCore.SourceGenerators.PublicProgramSourceGenerator/PublicTopLevelProgram.Generated.g.cs",
+ "description": "Generated File 1 from 1 : PublicTopLevelProgram.Generated.g.cs ",
+ "line": 1
+ }
+
+ ],
+
+ "ref": "main"
+
+}
\ No newline at end of file
diff --git a/v2/Generator/MultiGeneratorV2.cs b/v2/Generator/MultiGeneratorV2.cs
index 00946ab71..b077de734 100644
--- a/v2/Generator/MultiGeneratorV2.cs
+++ b/v2/Generator/MultiGeneratorV2.cs
@@ -138,12 +138,20 @@ public string[] SourceNoRSCG()
text = text.Replace("(readme/di.gif)", $"({d.Generator!.Source}/readme/di.gif)");
text = text.Replace("(di.gif)", $"({d.Generator!.Source}/di.gif)");
+
+ text = text.Replace("(./docs/", $"({d.Generator!.Source}/docs/");
text = text.Replace("(doc/", $"({d.Generator!.Source}/doc/");
text = text.Replace("(docs/rules/", $"({d.Generator!.Source}/docs/rules/");
text = text.Replace("(CHANGELOG.md", $"({d.Generator!.Source}/CHANGELOG.md");
text = text.Replace("(/.github/CONTRIBUTING.md)", $"({d.Generator!.Source}/.github/CONTRIBUTING.md)");
+ text = text.Replace("(CONTRIBUTING", $"({d.Generator!.Source}/CONTRIBUTING");
+ text = text.Replace("(SECURITY", $"({d.Generator!.Source}/SECURITY");
+ text = text.Replace("(./CODE-OF-CONDUCT", $"({d.Generator!.Source}/CODE-OF-CONDUCT");
+
+
+
text = text.Replace("(img/", $"({d.Generator!.Source}/img/");
text = text.Replace("(RoseLynn.GenericsAnalyzer/)", $"({d.Generator!.Source}/RoseLynn.GenericsAnalyzer/)");
text = text.Replace("(RossLean.", $"({d.Generator!.Source}/RossLean.");
diff --git a/v2/Generator/all.csv b/v2/Generator/all.csv
index f6c21bd05..aa6ff43a1 100644
--- a/v2/Generator/all.csv
+++ b/v2/Generator/all.csv
@@ -106,7 +106,7 @@ Nr,Key,Source,Category
105,Weave, https://github.com/otac0n/Weave,FilesToCode
106,WIAD, https://github.com/ignatandrei/RSCG_WhatIAmDoing,AOP
107,NetAutomaticInterface, https://github.com/codecentric/net_automatic_interface,Interface
-108,CommandLine, https://github.com/dotmake-build/command-line,EnhancementProject
+108,CommandLine, https://github.com/dotmake-build/command-line,CommandLine
109,FunicularSwitch, https://github.com/bluehands/Funicular-Switch,FunctionalProgramming
110,jab, https://github.com/pakrym/jab,DependencyInjection
111,cachesourcegenerator, https://github.com/jeppevammenkristensen/cachesourcegenerator,FunctionalProgramming
@@ -230,8 +230,9 @@ Nr,Key,Source,Category
229,Facet, https://github.com/Tim-Maes/Facet/,Mapper
230,Unflat, https://github.com/pstlnce/unflat,Database
231,kli.Localize, https://github.com/kl1mm/localize,FilesToCode
-232,ConsoleAppFramework, https://github.com/Cysharp/ConsoleAppFramework,Console
+232,ConsoleAppFramework, https://github.com/Cysharp/ConsoleAppFramework,CommandLine
233,Vyaml, https://github.com/hadashiA/VYaml,Serializer
234,RapidEnum, https://github.com/hanachiru/RapidEnum,Enum
235,CsvCsharp, https://github.com/nuskey8/Csv-CSharp,Serializer
236,Validly, https://github.com/Hookyns/validly,Validator
+237,Program, https://github.com/dotnet/aspnetcore/,EnhancementClass
diff --git a/v2/RSCGExamplesData/GeneratorDataRec.json b/v2/RSCGExamplesData/GeneratorDataRec.json
index a70bc1feb..5bd018921 100644
--- a/v2/RSCGExamplesData/GeneratorDataRec.json
+++ b/v2/RSCGExamplesData/GeneratorDataRec.json
@@ -1428,5 +1428,12 @@
"Category":40,
"dtStart": "2025-10-06T00:00:00",
"show": true
+},
+
+{
+ "ID":"Program",
+ "Category":5,
+ "dtStart": "2025-11-06T00:00:00",
+ "show": true
}
]
\ No newline at end of file
diff --git a/v2/book/examples/Program.html b/v2/book/examples/Program.html
new file mode 100644
index 000000000..5cfa5ca16
--- /dev/null
+++ b/v2/book/examples/Program.html
@@ -0,0 +1,53 @@
+
+
RSCG nr 237 : Program
+
+Info
+Nuget : https://www.nuget.org/packages/Microsoft.AspNetCore.OpenApi
+
+You can find more details at : https://github.com/dotnet/aspnetcore/blob/70d851104f739fb906aabcd6a07c0935ce2549c9/src/Framework/AspNetCoreAnalyzers/src/SourceGenerators/PublicTopLevelProgramGenerator.cs#L11
+
+Author :Microsoft
+
+Source: https://github.com/dotnet/aspnetcore/
+
+About
+
+Generating Program.cs class for testing purposes
+
+
+ How to use
+
+
+ Add reference to the Program in the csproj
+
+
+
+This was for me the starting code
+
+
+ I have coded the file Program.cs
+
+
+
+ And here are the generated files
+
+
+ The file generated is PublicTopLevelProgram.Generated.g.cs
+
+
+
+
+ You can download the code and this page as pdf from
+
+ https://ignatandrei.github.io/RSCG_Examples/v2/docs/Program
+
+
+
+
+
+ You can see the whole list at
+
+ https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG
+
+
+
diff --git a/v2/book/list.html b/v2/book/list.html
index 4a581852e..a55c82acd 100644
--- a/v2/book/list.html
+++ b/v2/book/list.html
@@ -17,7 +17,7 @@
-This is the list of 236 RSCG with examples =>
+This is the list of 237 RSCG with examples =>
diff --git a/v2/book/pandocHTML.yaml b/v2/book/pandocHTML.yaml
index 181cc65b1..752db62dd 100644
--- a/v2/book/pandocHTML.yaml
+++ b/v2/book/pandocHTML.yaml
@@ -250,6 +250,7 @@ input-files:
- examples/RapidEnum.html
- examples/Csvcsharp.html
- examples/validly.html
+- examples/Program.html
# or you may use input-file: with a single value
# defaults:
diff --git a/v2/rscg_examples/Program/description.json b/v2/rscg_examples/Program/description.json
new file mode 100644
index 000000000..e19a9dc06
--- /dev/null
+++ b/v2/rscg_examples/Program/description.json
@@ -0,0 +1,26 @@
+{
+ "generator":{
+ "name":"Program",
+ "nuget":[
+ "https://www.nuget.org/packages/Microsoft.AspNetCore.OpenApi"
+ ],
+ "link":"https://github.com/dotnet/aspnetcore/blob/70d851104f739fb906aabcd6a07c0935ce2549c9/src/Framework/AspNetCoreAnalyzers/src/SourceGenerators/PublicTopLevelProgramGenerator.cs#L11",
+ "author":"Microsoft",
+ "source":"https://github.com/dotnet/aspnetcore/"
+ },
+ "data":{
+ "goodFor":["Generating Program.cs class for testing purposes"],
+ "csprojDemo":"TestProgram.csproj",
+ "csFiles":["Program.cs"],
+ "excludeDirectoryGenerated":[
+ "Microsoft.AspNetCore.Http.RequestDelegateGenerator",
+ "Microsoft.AspNetCore.OpenApi.SourceGenerators",
+ "System.Text.Json.SourceGeneration"
+ ],
+ "includeAdditionalFiles":[""]
+ },
+ "links":{
+ "blog":"",
+ "video":""
+ }
+}
\ No newline at end of file
diff --git a/v2/rscg_examples/Program/nuget.txt b/v2/rscg_examples/Program/nuget.txt
new file mode 100644
index 000000000..e56440659
--- /dev/null
+++ b/v2/rscg_examples/Program/nuget.txt
@@ -0,0 +1,3 @@
+Provides APIs for annotating route handler endpoints in ASP.NET Core with OpenAPI annotations.
+
+This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/e77cb01b5529c137130757859f09f892dbdd2436
\ No newline at end of file
diff --git a/v2/rscg_examples/Program/readme.txt b/v2/rscg_examples/Program/readme.txt
new file mode 100644
index 000000000..1dbbd3a41
--- /dev/null
+++ b/v2/rscg_examples/Program/readme.txt
@@ -0,0 +1,65 @@
+ASP.NET Core
+============
+
+[](https://www.dotnetfoundation.org/)
+[](https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt) [](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) [](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
+[](https://aka.ms/dotnet-discord)
+
+ASP.NET Core is an open-source and cross-platform framework for building modern cloud-based internet-connected applications, such as web apps, IoT apps, and mobile backends. ASP.NET Core apps run on [.NET](https://dot.net), a free, cross-platform, and open-source application runtime. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac, and Linux. [Learn more about ASP.NET Core](https://learn.microsoft.com/aspnet/core/).
+
+## Get started
+
+Follow the [Getting Started](https://learn.microsoft.com/aspnet/core/getting-started) instructions.
+
+Also check out the [.NET Homepage](https://www.microsoft.com/net) for released versions of .NET, getting started guides, and learning resources.
+
+See the [Triage Process](https://github.com/dotnet/aspnetcore/blob/main/docs/TriageProcess.md) document for more information on how we handle incoming issues.
+
+## How to engage, contribute, and give feedback
+
+Some of the best ways to contribute are to try things out, file issues, join in design conversations,
+and make pull-requests.
+
+* [Download our latest daily builds](./docs/DailyBuilds.md)
+* Follow along with the development of ASP.NET Core:
+ * [Community Standup](https://live.asp.net): The community standup is held every week and streamed live on YouTube. You can view past standups in the linked playlist.
+ * [Roadmap](https://aka.ms/aspnet/roadmap): The schedule and milestone themes for ASP.NET Core.
+* [Build ASP.NET Core source code](./docs/BuildFromSource.md)
+* Check out the [contributing](CONTRIBUTING.md) page to see the best places to log issues and start discussions.
+
+## Reporting security issues and bugs
+
+Security issues and bugs should be reported privately to the Microsoft Security Response Center (MSRC) via the [MSRC Researcher Portal](https://msrc.microsoft.com/report/vulnerability/new). You should receive a response within 24 hours. Further information can be found in the [MSRC Report an Issue FAQ](https://www.microsoft.com/msrc/faqs-report-an-issue). You can also find these instructions in this repo's [Security doc](SECURITY.md).
+
+Also see info about related [Microsoft .NET Bounty Program](https://www.microsoft.com/msrc/bounty-dot-net-core).
+
+## Related projects
+
+These are some other repos for related projects:
+
+* [Documentation](https://github.com/aspnet/Docs) - documentation sources for https://learn.microsoft.com/aspnet/core/
+* [Entity Framework Core](https://github.com/dotnet/efcore) - data access technology
+* [Runtime](https://github.com/dotnet/runtime) - cross-platform runtime for cloud, mobile, desktop, and IoT apps
+* [Razor](https://github.com/dotnet/razor) - the Razor compiler and tooling for working with Razor syntax (.cshtml, .razor)
+
+## Code of conduct
+
+See [CODE-OF-CONDUCT](./CODE-OF-CONDUCT.md)
+
+## Nightly builds
+
+This table includes links to download the latest builds of the ASP.NET Core Shared Framework. Also included are links to download the Windows Hosting Bundle, which includes the ASP.NET Core Shared Framework, the .NET Runtime Shared Framework, and the IIS plugin (ASP.NET Core Module). You can download the latest .NET Runtime builds [here](https://github.com/dotnet/runtime/blob/main/docs/project/dogfooding.md#nightly-builds-table), and the latest .NET SDK builds [here](https://github.com/dotnet/installer#table). **If you're unsure what you need, then install the SDK; it has everything except the IIS plugin.**
+
+| Platform | Shared Framework (Installer) | Shared Framework (Binaries) | Hosting Bundle (Installer) |
+| :--------- | :----------: | :----------: | :----------: |
+| **Windows x64** | [Installer](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-win-x64.exe) | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-win-x64.zip) | [Installer](https://aka.ms/dotnet/10.0/daily/dotnet-hosting-win.exe) |
+| **Windows x86** | [Installer](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-win-x86.exe) | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-win-x86.zip) | [Installer](https://aka.ms/dotnet/10.0/daily/dotnet-hosting-win.exe) |
+| **Windows arm64** | [Installer](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-win-arm64.exe) | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-win-arm64.zip) | [Installer](https://aka.ms/dotnet/10.0/daily/dotnet-hosting-win.exe) |
+| **macOS x64** | **N/A** | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-osx-x64.tar.gz) | **N/A** |
+| **macOS arm64** | **N/A** | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-osx-arm64.tar.gz) | **N/A** |
+| **Linux x64** | [Deb Installer](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-x64.deb) - [RPM Installer](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-x64.rpm) | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-linux-x64.tar.gz) | **N/A** |
+| **Linux arm** | **N/A** | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-linux-arm.tar.gz) | **N/A** |
+| **Linux arm64** | [RPM Installer](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-aarch64.rpm) | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-linux-arm64.tar.gz) | **N/A** |
+| **Linux-musl-x64** | **N/A** | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-linux-musl-x64.tar.gz) | **N/A** |
+| **Linux-musl-arm** | **N/A** | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-linux-musl-arm.tar.gz) | **N/A** |
+| **Linux-musl-arm64** | **N/A** | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-linux-musl-arm64.tar.gz) | **N/A** |
diff --git a/v2/rscg_examples/Program/src/TestProgram.slnx b/v2/rscg_examples/Program/src/TestProgram.slnx
new file mode 100644
index 000000000..c35e4f372
--- /dev/null
+++ b/v2/rscg_examples/Program/src/TestProgram.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/v2/rscg_examples/Program/src/TestProgram/Program.cs b/v2/rscg_examples/Program/src/TestProgram/Program.cs
new file mode 100644
index 000000000..ffd9d869a
--- /dev/null
+++ b/v2/rscg_examples/Program/src/TestProgram/Program.cs
@@ -0,0 +1,48 @@
+using System.Text.Json.Serialization;
+using Microsoft.AspNetCore.Http.HttpResults;
+
+var builder = WebApplication.CreateSlimBuilder(args);
+
+builder.Services.ConfigureHttpJsonOptions(options =>
+{
+ options.SerializerOptions.TypeInfoResolverChain.Insert(0, AppJsonSerializerContext.Default);
+});
+
+// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi
+builder.Services.AddOpenApi();
+
+var app = builder.Build();
+
+if (app.Environment.IsDevelopment())
+{
+ app.MapOpenApi();
+}
+
+Todo[] sampleTodos =
+[
+ new(1, "Walk the dog"),
+ new(2, "Do the dishes", DateOnly.FromDateTime(DateTime.Now)),
+ new(3, "Do the laundry", DateOnly.FromDateTime(DateTime.Now.AddDays(1))),
+ new(4, "Clean the bathroom"),
+ new(5, "Clean the car", DateOnly.FromDateTime(DateTime.Now.AddDays(2)))
+];
+
+var todosApi = app.MapGroup("/todos");
+todosApi.MapGet("/", () => sampleTodos)
+ .WithName("GetTodos");
+
+todosApi.MapGet("/{id}", Results, NotFound> (int id) =>
+ sampleTodos.FirstOrDefault(a => a.Id == id) is { } todo
+ ? TypedResults.Ok(todo)
+ : TypedResults.NotFound())
+ .WithName("GetTodoById");
+
+app.Run();
+
+public record Todo(int Id, string? Title, DateOnly? DueBy = null, bool IsComplete = false);
+
+[JsonSerializable(typeof(Todo[]))]
+internal partial class AppJsonSerializerContext : JsonSerializerContext
+{
+
+}
diff --git a/v2/rscg_examples/Program/src/TestProgram/Properties/launchSettings.json b/v2/rscg_examples/Program/src/TestProgram/Properties/launchSettings.json
new file mode 100644
index 000000000..dbf050caa
--- /dev/null
+++ b/v2/rscg_examples/Program/src/TestProgram/Properties/launchSettings.json
@@ -0,0 +1,15 @@
+{
+ "$schema": "https://json.schemastore.org/launchsettings.json",
+ "profiles": {
+ "http": {
+ "commandName": "Project",
+ "dotnetRunMessages": true,
+ "launchBrowser": true,
+ "launchUrl": "todos",
+ "applicationUrl": "http://localhost:5219",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ }
+ }
+}
diff --git a/v2/rscg_examples/Program/src/TestProgram/TestProgram.csproj b/v2/rscg_examples/Program/src/TestProgram/TestProgram.csproj
new file mode 100644
index 000000000..560a8c045
--- /dev/null
+++ b/v2/rscg_examples/Program/src/TestProgram/TestProgram.csproj
@@ -0,0 +1,18 @@
+
+
+
+ net10.0
+ enable
+ enable
+ true
+ true
+
+
+
+
+
+
+ true
+ $(BaseIntermediateOutputPath)\GX
+
+
diff --git a/v2/rscg_examples/Program/src/TestProgram/TestProgram.http b/v2/rscg_examples/Program/src/TestProgram/TestProgram.http
new file mode 100644
index 000000000..743112829
--- /dev/null
+++ b/v2/rscg_examples/Program/src/TestProgram/TestProgram.http
@@ -0,0 +1,11 @@
+@TestProgram_HostAddress = http://localhost:5219
+
+GET {{TestProgram_HostAddress}}/todos/
+Accept: application/json
+
+###
+
+GET {{TestProgram_HostAddress}}/todos/1
+Accept: application/json
+
+###
diff --git a/v2/rscg_examples/Program/src/TestProgram/appsettings.Development.json b/v2/rscg_examples/Program/src/TestProgram/appsettings.Development.json
new file mode 100644
index 000000000..0c208ae91
--- /dev/null
+++ b/v2/rscg_examples/Program/src/TestProgram/appsettings.Development.json
@@ -0,0 +1,8 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ }
+}
diff --git a/v2/rscg_examples/Program/src/TestProgram/appsettings.json b/v2/rscg_examples/Program/src/TestProgram/appsettings.json
new file mode 100644
index 000000000..10f68b8c8
--- /dev/null
+++ b/v2/rscg_examples/Program/src/TestProgram/appsettings.json
@@ -0,0 +1,9 @@
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "AllowedHosts": "*"
+}
diff --git a/v2/rscg_examples/Program/video.json b/v2/rscg_examples/Program/video.json
new file mode 100644
index 000000000..5f63dd172
--- /dev/null
+++ b/v2/rscg_examples/Program/video.json
@@ -0,0 +1,39 @@
+{
+ "scriptName": "Program",
+ "steps":
+[
+ {"typeStep":"exec","arg":"clipchamp.exe launch"},
+ {"typeStep":"text","arg": "Welcome to Roslyn Examples"},
+ {"typeStep":"text","arg":"If you want to see more examples , see List Of RSCG"},
+ {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG"},
+ {"typeStep":"text","arg": "My name is Andrei Ignat and I am deeply fond of Roslyn Source Code Generator. "},
+
+{"typeStep":"text","arg": "Today I will present Microsoft.AspNetCore.OpenApi . Generating Program.cs class for testing purposes ."},
+{"typeStep":"browser","arg":"https://www.nuget.org/packages/Microsoft.AspNetCore.OpenApi"},
+{"typeStep":"text","arg": "The whole example is here"},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Program"},
+{"typeStep":"text","arg": "You can download the code from here"},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Program#download-example-net--c-"},
+{"typeStep":"text","arg":"Here is the code downloaded "},
+{"typeStep":"exec","arg":"explorer.exe /select,D:\\gth\\RSCG_Examples\\v2\\Generator.sln"},
+{"typeStep":"text","arg": "So , let's start the project with Visual Studio Code "},
+{"typeStep":"stepvscode","arg": "-n D:\\gth\\RSCG_Examples\\v2"},
+
+{"typeStep":"text","arg": "To use it ,you will put the Nuget Microsoft.AspNetCore.OpenApi into the csproj "},
+
+{"typeStep":"stepvscode","arg": "-r -g D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\Program\\src\\TestProgram\\TestProgram.csproj"},
+
+{"typeStep":"text","arg": "And now I will show you an example of using Microsoft.AspNetCore.OpenApi"},
+
+{"typeStep":"hide","arg": "now execute the tour in VSCode"},
+{"typeStep":"tour", "arg": "src/.tours/"},
+{"typeStep":"text","arg":" And I will execute the project"},
+{"typeStep":"showproj", "arg":"TestProgram.csproj"},
+{"typeStep":"text","arg":" This concludes the project"},
+{"typeStep":"waitseconds","arg":"30"},
+{"typeStep":"text","arg": "Remember, you can download the code from here"},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Program#download-example-net--c-",
+SpeakTest=" "},
+{"typeStep":"waitseconds","arg":"30"},
+]
+}
diff --git a/v2/rscg_examples_site/docs/Categories/CommandLine.md b/v2/rscg_examples_site/docs/Categories/CommandLine.md
index bdd58b1d4..54e699112 100644
--- a/v2/rscg_examples_site/docs/Categories/CommandLine.md
+++ b/v2/rscg_examples_site/docs/Categories/CommandLine.md
@@ -1,6 +1,10 @@
CommandLine
-Number RSCG: 1
+Number RSCG: 3
1 [ArgumentParsing](/docs/ArgumentParsing)
+
+ 2 [CommandLine](/docs/CommandLine)
+
+ 3 [ConsoleAppFramework](/docs/ConsoleAppFramework)
\ No newline at end of file
diff --git a/v2/rscg_examples_site/docs/Categories/Console.md b/v2/rscg_examples_site/docs/Categories/Console.md
index 32efe9705..001e6542d 100644
--- a/v2/rscg_examples_site/docs/Categories/Console.md
+++ b/v2/rscg_examples_site/docs/Categories/Console.md
@@ -1,8 +1,6 @@
Console
-Number RSCG: 2
+Number RSCG: 1
- 1 [ConsoleAppFramework](/docs/ConsoleAppFramework)
-
- 2 [Figgle](/docs/Figgle)
+ 1 [Figgle](/docs/Figgle)
\ No newline at end of file
diff --git a/v2/rscg_examples_site/docs/Categories/EnhancementClass.md b/v2/rscg_examples_site/docs/Categories/EnhancementClass.md
index 5efa10696..e3f2def09 100644
--- a/v2/rscg_examples_site/docs/Categories/EnhancementClass.md
+++ b/v2/rscg_examples_site/docs/Categories/EnhancementClass.md
@@ -1,6 +1,6 @@
EnhancementClass
-Number RSCG: 27
+Number RSCG: 28
1 [ApparatusAOT](/docs/ApparatusAOT)
@@ -38,21 +38,23 @@ Number RSCG: 27
18 [OptionToStringGenerator](/docs/OptionToStringGenerator)
- 19 [QueryStringGenerator](/docs/QueryStringGenerator)
+ 19 [Program](/docs/Program)
- 20 [RSCG_Decorator](/docs/RSCG_Decorator)
+ 20 [QueryStringGenerator](/docs/QueryStringGenerator)
- 21 [RSCG_UtilityTypes](/docs/RSCG_UtilityTypes)
+ 21 [RSCG_Decorator](/docs/RSCG_Decorator)
- 22 [StaticReflection](/docs/StaticReflection)
+ 22 [RSCG_UtilityTypes](/docs/RSCG_UtilityTypes)
- 23 [SyncMethodGenerator](/docs/SyncMethodGenerator)
+ 23 [StaticReflection](/docs/StaticReflection)
- 24 [System.Runtime.InteropServices](/docs/System.Runtime.InteropServices)
+ 24 [SyncMethodGenerator](/docs/SyncMethodGenerator)
- 25 [System.Text.RegularExpressions](/docs/System.Text.RegularExpressions)
+ 25 [System.Runtime.InteropServices](/docs/System.Runtime.InteropServices)
- 26 [TelemetryLogging](/docs/TelemetryLogging)
+ 26 [System.Text.RegularExpressions](/docs/System.Text.RegularExpressions)
- 27 [ThisClass](/docs/ThisClass)
+ 27 [TelemetryLogging](/docs/TelemetryLogging)
+
+ 28 [ThisClass](/docs/ThisClass)
\ No newline at end of file
diff --git a/v2/rscg_examples_site/docs/Categories/EnhancementProject.md b/v2/rscg_examples_site/docs/Categories/EnhancementProject.md
index 0f12198d2..c8c93371e 100644
--- a/v2/rscg_examples_site/docs/Categories/EnhancementProject.md
+++ b/v2/rscg_examples_site/docs/Categories/EnhancementProject.md
@@ -1,6 +1,6 @@
EnhancementProject
-Number RSCG: 20
+Number RSCG: 19
1 [AssemblyVersionInfo](/docs/AssemblyVersionInfo)
@@ -10,35 +10,33 @@ Number RSCG: 20
4 [BuildInfo](/docs/BuildInfo)
- 5 [CommandLine](/docs/CommandLine)
+ 5 [Credfeto.Version.Information.Generator](/docs/Credfeto.Version.Information.Generator)
- 6 [Credfeto.Version.Information.Generator](/docs/Credfeto.Version.Information.Generator)
+ 6 [Larcanum.GitInfo](/docs/Larcanum.GitInfo)
- 7 [Larcanum.GitInfo](/docs/Larcanum.GitInfo)
+ 7 [LinqGen.Generator](/docs/LinqGen.Generator)
- 8 [LinqGen.Generator](/docs/LinqGen.Generator)
+ 8 [Pekspro.BuildInformationGenerator](/docs/Pekspro.BuildInformationGenerator)
- 9 [Pekspro.BuildInformationGenerator](/docs/Pekspro.BuildInformationGenerator)
+ 9 [PlantUmlClassDiagramGenerator](/docs/PlantUmlClassDiagramGenerator)
- 10 [PlantUmlClassDiagramGenerator](/docs/PlantUmlClassDiagramGenerator)
+ 10 [RSCG_AMS](/docs/RSCG_AMS)
- 11 [RSCG_AMS](/docs/RSCG_AMS)
+ 11 [RSCG_ExportDiagram](/docs/RSCG_ExportDiagram)
- 12 [RSCG_ExportDiagram](/docs/RSCG_ExportDiagram)
+ 12 [RSCG_FunctionsWithDI](/docs/RSCG_FunctionsWithDI)
- 13 [RSCG_FunctionsWithDI](/docs/RSCG_FunctionsWithDI)
+ 13 [RSCG_NameGenerator](/docs/RSCG_NameGenerator)
- 14 [RSCG_NameGenerator](/docs/RSCG_NameGenerator)
+ 14 [RSCG_TimeBombComment](/docs/RSCG_TimeBombComment)
- 15 [RSCG_TimeBombComment](/docs/RSCG_TimeBombComment)
+ 15 [RSCG_Wait](/docs/RSCG_Wait)
- 16 [RSCG_Wait](/docs/RSCG_Wait)
+ 16 [ShadowWriterProjectInfo](/docs/ShadowWriterProjectInfo)
- 17 [ShadowWriterProjectInfo](/docs/ShadowWriterProjectInfo)
+ 17 [ThisAssembly](/docs/ThisAssembly)
- 18 [ThisAssembly](/docs/ThisAssembly)
+ 18 [ThisAssembly.Constants](/docs/ThisAssembly.Constants)
- 19 [ThisAssembly.Constants](/docs/ThisAssembly.Constants)
-
- 20 [ThisAssembly.Metadata](/docs/ThisAssembly.Metadata)
+ 19 [ThisAssembly.Metadata](/docs/ThisAssembly.Metadata)
\ No newline at end of file
diff --git a/v2/rscg_examples_site/docs/Categories/_PrimitiveCommandLine.mdx b/v2/rscg_examples_site/docs/Categories/_PrimitiveCommandLine.mdx
index 07a8c0914..28e0517af 100644
--- a/v2/rscg_examples_site/docs/Categories/_PrimitiveCommandLine.mdx
+++ b/v2/rscg_examples_site/docs/Categories/_PrimitiveCommandLine.mdx
@@ -2,6 +2,10 @@
1 [ArgumentParsing](/docs/ArgumentParsing)
+ 2 [CommandLine](/docs/CommandLine)
+
+ 3 [ConsoleAppFramework](/docs/ConsoleAppFramework)
+
### See category
[CommandLine](/docs/Categories/CommandLine)
diff --git a/v2/rscg_examples_site/docs/Categories/_PrimitiveConsole.mdx b/v2/rscg_examples_site/docs/Categories/_PrimitiveConsole.mdx
index 28eff78e9..169bdbcfc 100644
--- a/v2/rscg_examples_site/docs/Categories/_PrimitiveConsole.mdx
+++ b/v2/rscg_examples_site/docs/Categories/_PrimitiveConsole.mdx
@@ -1,8 +1,6 @@
### Category "Console" has the following generators:
- 1 [ConsoleAppFramework](/docs/ConsoleAppFramework)
-
- 2 [Figgle](/docs/Figgle)
+ 1 [Figgle](/docs/Figgle)
### See category
diff --git a/v2/rscg_examples_site/docs/Categories/_PrimitiveEnhancementClass.mdx b/v2/rscg_examples_site/docs/Categories/_PrimitiveEnhancementClass.mdx
index 51b688bcf..652b1b80b 100644
--- a/v2/rscg_examples_site/docs/Categories/_PrimitiveEnhancementClass.mdx
+++ b/v2/rscg_examples_site/docs/Categories/_PrimitiveEnhancementClass.mdx
@@ -36,23 +36,25 @@
18 [OptionToStringGenerator](/docs/OptionToStringGenerator)
- 19 [QueryStringGenerator](/docs/QueryStringGenerator)
+ 19 [Program](/docs/Program)
- 20 [RSCG_Decorator](/docs/RSCG_Decorator)
+ 20 [QueryStringGenerator](/docs/QueryStringGenerator)
- 21 [RSCG_UtilityTypes](/docs/RSCG_UtilityTypes)
+ 21 [RSCG_Decorator](/docs/RSCG_Decorator)
- 22 [StaticReflection](/docs/StaticReflection)
+ 22 [RSCG_UtilityTypes](/docs/RSCG_UtilityTypes)
- 23 [SyncMethodGenerator](/docs/SyncMethodGenerator)
+ 23 [StaticReflection](/docs/StaticReflection)
- 24 [System.Runtime.InteropServices](/docs/System.Runtime.InteropServices)
+ 24 [SyncMethodGenerator](/docs/SyncMethodGenerator)
- 25 [System.Text.RegularExpressions](/docs/System.Text.RegularExpressions)
+ 25 [System.Runtime.InteropServices](/docs/System.Runtime.InteropServices)
- 26 [TelemetryLogging](/docs/TelemetryLogging)
+ 26 [System.Text.RegularExpressions](/docs/System.Text.RegularExpressions)
- 27 [ThisClass](/docs/ThisClass)
+ 27 [TelemetryLogging](/docs/TelemetryLogging)
+
+ 28 [ThisClass](/docs/ThisClass)
### See category
diff --git a/v2/rscg_examples_site/docs/Categories/_PrimitiveEnhancementProject.mdx b/v2/rscg_examples_site/docs/Categories/_PrimitiveEnhancementProject.mdx
index 6f1513740..80dcca765 100644
--- a/v2/rscg_examples_site/docs/Categories/_PrimitiveEnhancementProject.mdx
+++ b/v2/rscg_examples_site/docs/Categories/_PrimitiveEnhancementProject.mdx
@@ -8,37 +8,35 @@
4 [BuildInfo](/docs/BuildInfo)
- 5 [CommandLine](/docs/CommandLine)
+ 5 [Credfeto.Version.Information.Generator](/docs/Credfeto.Version.Information.Generator)
- 6 [Credfeto.Version.Information.Generator](/docs/Credfeto.Version.Information.Generator)
+ 6 [Larcanum.GitInfo](/docs/Larcanum.GitInfo)
- 7 [Larcanum.GitInfo](/docs/Larcanum.GitInfo)
+ 7 [LinqGen.Generator](/docs/LinqGen.Generator)
- 8 [LinqGen.Generator](/docs/LinqGen.Generator)
+ 8 [Pekspro.BuildInformationGenerator](/docs/Pekspro.BuildInformationGenerator)
- 9 [Pekspro.BuildInformationGenerator](/docs/Pekspro.BuildInformationGenerator)
+ 9 [PlantUmlClassDiagramGenerator](/docs/PlantUmlClassDiagramGenerator)
- 10 [PlantUmlClassDiagramGenerator](/docs/PlantUmlClassDiagramGenerator)
+ 10 [RSCG_AMS](/docs/RSCG_AMS)
- 11 [RSCG_AMS](/docs/RSCG_AMS)
+ 11 [RSCG_ExportDiagram](/docs/RSCG_ExportDiagram)
- 12 [RSCG_ExportDiagram](/docs/RSCG_ExportDiagram)
+ 12 [RSCG_FunctionsWithDI](/docs/RSCG_FunctionsWithDI)
- 13 [RSCG_FunctionsWithDI](/docs/RSCG_FunctionsWithDI)
+ 13 [RSCG_NameGenerator](/docs/RSCG_NameGenerator)
- 14 [RSCG_NameGenerator](/docs/RSCG_NameGenerator)
+ 14 [RSCG_TimeBombComment](/docs/RSCG_TimeBombComment)
- 15 [RSCG_TimeBombComment](/docs/RSCG_TimeBombComment)
+ 15 [RSCG_Wait](/docs/RSCG_Wait)
- 16 [RSCG_Wait](/docs/RSCG_Wait)
+ 16 [ShadowWriterProjectInfo](/docs/ShadowWriterProjectInfo)
- 17 [ShadowWriterProjectInfo](/docs/ShadowWriterProjectInfo)
+ 17 [ThisAssembly](/docs/ThisAssembly)
- 18 [ThisAssembly](/docs/ThisAssembly)
+ 18 [ThisAssembly.Constants](/docs/ThisAssembly.Constants)
- 19 [ThisAssembly.Constants](/docs/ThisAssembly.Constants)
-
- 20 [ThisAssembly.Metadata](/docs/ThisAssembly.Metadata)
+ 19 [ThisAssembly.Metadata](/docs/ThisAssembly.Metadata)
### See category
diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Program.md b/v2/rscg_examples_site/docs/RSCG-Examples/Program.md
new file mode 100644
index 000000000..eeb99195d
--- /dev/null
+++ b/v2/rscg_examples_site/docs/RSCG-Examples/Program.md
@@ -0,0 +1,264 @@
+---
+sidebar_position: 2370
+title: 237 - Program
+description: Generating Program.cs class for testing purposes
+slug: /Program
+---
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+import TOCInline from '@theme/TOCInline';
+import SameCategory from '../Categories/_PrimitiveEnhancementClass.mdx';
+
+# Program by Microsoft
+
+
+
+
+## NuGet / site data
+[](https://www.nuget.org/packages/Microsoft.AspNetCore.OpenApi)
+[](https://github.com/dotnet/aspnetcore/)
+
+
+## Details
+
+### Info
+:::info
+
+Name: **Program**
+
+Provides APIs for annotating route handler endpoints in ASP.NET Core with OpenAPI annotations.
+
+This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/e77cb01b5529c137130757859f09f892dbdd2436
+
+Author: Microsoft
+
+NuGet:
+*https://www.nuget.org/packages/Microsoft.AspNetCore.OpenApi*
+
+
+You can find more details at https://github.com/dotnet/aspnetcore/blob/70d851104f739fb906aabcd6a07c0935ce2549c9/src/Framework/AspNetCoreAnalyzers/src/SourceGenerators/PublicTopLevelProgramGenerator.cs#L11
+
+Source: https://github.com/dotnet/aspnetcore/
+
+:::
+
+### Author
+:::note
+Microsoft
+
+:::
+
+### Original Readme
+:::note
+
+ASP.NET Core
+============
+
+[](https://www.dotnetfoundation.org/)
+[](https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt) [](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) [](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
+[](https://aka.ms/dotnet-discord)
+
+ASP.NET Core is an open-source and cross-platform framework for building modern cloud-based internet-connected applications, such as web apps, IoT apps, and mobile backends. ASP.NET Core apps run on [.NET](https://dot.net), a free, cross-platform, and open-source application runtime. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac, and Linux. [Learn more about ASP.NET Core](https://learn.microsoft.com/aspnet/core/).
+
+## Get started
+
+Follow the [Getting Started](https://learn.microsoft.com/aspnet/core/getting-started) instructions.
+
+Also check out the [.NET Homepage](https://www.microsoft.com/net) for released versions of .NET, getting started guides, and learning resources.
+
+See the [Triage Process](https://github.com/dotnet/aspnetcore/blob/main/docs/TriageProcess.md) document for more information on how we handle incoming issues.
+
+## How to engage, contribute, and give feedback
+
+Some of the best ways to contribute are to try things out, file issues, join in design conversations,
+and make pull-requests.
+
+* [Download our latest daily builds](https://github.com/dotnet/aspnetcore//docs/DailyBuilds.md)
+* Follow along with the development of ASP.NET Core:
+ * [Community Standup](https://live.asp.net): The community standup is held every week and streamed live on YouTube. You can view past standups in the linked playlist.
+ * [Roadmap](https://aka.ms/aspnet/roadmap): The schedule and milestone themes for ASP.NET Core.
+* [Build ASP.NET Core source code](https://github.com/dotnet/aspnetcore//docs/BuildFromSource.md)
+* Check out the [contributing](https://github.com/dotnet/aspnetcore//CONTRIBUTING.md) page to see the best places to log issues and start discussions.
+
+## Reporting security issues and bugs
+
+Security issues and bugs should be reported privately to the Microsoft Security Response Center (MSRC) via the [MSRC Researcher Portal](https://msrc.microsoft.com/report/vulnerability/new). You should receive a response within 24 hours. Further information can be found in the [MSRC Report an Issue FAQ](https://www.microsoft.com/msrc/faqs-report-an-issue). You can also find these instructions in this repo's [Security doc](https://github.com/dotnet/aspnetcore//SECURITY.md).
+
+Also see info about related [Microsoft .NET Bounty Program](https://www.microsoft.com/msrc/bounty-dot-net-core).
+
+## Related projects
+
+These are some other repos for related projects:
+
+* [Documentation](https://github.com/aspnet/Docs) - documentation sources for https://learn.microsoft.com/aspnet/core/
+* [Entity Framework Core](https://github.com/dotnet/efcore) - data access technology
+* [Runtime](https://github.com/dotnet/runtime) - cross-platform runtime for cloud, mobile, desktop, and IoT apps
+* [Razor](https://github.com/dotnet/razor) - the Razor compiler and tooling for working with Razor syntax (.cshtml, .razor)
+
+## Code of conduct
+
+See [CODE-OF-CONDUCT](https://github.com/dotnet/aspnetcore//CODE-OF-CONDUCT.md)
+
+## Nightly builds
+
+This table includes links to download the latest builds of the ASP.NET Core Shared Framework. Also included are links to download the Windows Hosting Bundle, which includes the ASP.NET Core Shared Framework, the .NET Runtime Shared Framework, and the IIS plugin (ASP.NET Core Module). You can download the latest .NET Runtime builds [here](https://github.com/dotnet/runtime/blob/main/docs/project/dogfooding.md#nightly-builds-table), and the latest .NET SDK builds [here](https://github.com/dotnet/installer#table). **If you're unsure what you need, then install the SDK; it has everything except the IIS plugin.**
+
+| Platform | Shared Framework (Installer) | Shared Framework (Binaries) | Hosting Bundle (Installer) |
+| :--------- | :----------: | :----------: | :----------: |
+| **Windows x64** | [Installer](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-win-x64.exe) | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-win-x64.zip) | [Installer](https://aka.ms/dotnet/10.0/daily/dotnet-hosting-win.exe) |
+| **Windows x86** | [Installer](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-win-x86.exe) | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-win-x86.zip) | [Installer](https://aka.ms/dotnet/10.0/daily/dotnet-hosting-win.exe) |
+| **Windows arm64** | [Installer](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-win-arm64.exe) | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-win-arm64.zip) | [Installer](https://aka.ms/dotnet/10.0/daily/dotnet-hosting-win.exe) |
+| **macOS x64** | **N/A** | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-osx-x64.tar.gz) | **N/A** |
+| **macOS arm64** | **N/A** | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-osx-arm64.tar.gz) | **N/A** |
+| **Linux x64** | [Deb Installer](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-x64.deb) - [RPM Installer](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-x64.rpm) | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-linux-x64.tar.gz) | **N/A** |
+| **Linux arm** | **N/A** | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-linux-arm.tar.gz) | **N/A** |
+| **Linux arm64** | [RPM Installer](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-aarch64.rpm) | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-linux-arm64.tar.gz) | **N/A** |
+| **Linux-musl-x64** | **N/A** | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-linux-musl-x64.tar.gz) | **N/A** |
+| **Linux-musl-arm** | **N/A** | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-linux-musl-arm.tar.gz) | **N/A** |
+| **Linux-musl-arm64** | **N/A** | [Binaries](https://aka.ms/dotnet/10.0/daily/aspnetcore-runtime-linux-musl-arm64.tar.gz) | **N/A** |
+
+
+:::
+
+### About
+:::note
+
+Generating Program.cs class for testing purposes
+
+
+:::
+
+## How to use
+
+### Example (source csproj, source files)
+
+
+
+
+
+This is the CSharp Project that references **Program**
+```xml showLineNumbers {12}
+
+
+
+ net10.0
+ enable
+ enable
+ true
+ true
+
+
+
+
+
+
+ true
+ $(BaseIntermediateOutputPath)\GX
+
+
+
+```
+
+
+
+
+
+ This is the use of **Program** in *Program.cs*
+
+```csharp showLineNumbers
+using System.Text.Json.Serialization;
+using Microsoft.AspNetCore.Http.HttpResults;
+
+var builder = WebApplication.CreateSlimBuilder(args);
+
+builder.Services.ConfigureHttpJsonOptions(options =>
+{
+ options.SerializerOptions.TypeInfoResolverChain.Insert(0, AppJsonSerializerContext.Default);
+});
+
+// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi
+builder.Services.AddOpenApi();
+
+var app = builder.Build();
+
+if (app.Environment.IsDevelopment())
+{
+ app.MapOpenApi();
+}
+
+Todo[] sampleTodos =
+[
+ new(1, "Walk the dog"),
+ new(2, "Do the dishes", DateOnly.FromDateTime(DateTime.Now)),
+ new(3, "Do the laundry", DateOnly.FromDateTime(DateTime.Now.AddDays(1))),
+ new(4, "Clean the bathroom"),
+ new(5, "Clean the car", DateOnly.FromDateTime(DateTime.Now.AddDays(2)))
+];
+
+var todosApi = app.MapGroup("/todos");
+todosApi.MapGet("/", () => sampleTodos)
+ .WithName("GetTodos");
+
+todosApi.MapGet("/{id}", Results, NotFound> (int id) =>
+ sampleTodos.FirstOrDefault(a => a.Id == id) is \{ \} todo
+ ? TypedResults.Ok(todo)
+ : TypedResults.NotFound())
+ .WithName("GetTodoById");
+
+app.Run();
+
+public record Todo(int Id, string? Title, DateOnly? DueBy = null, bool IsComplete = false);
+
+[JsonSerializable(typeof(Todo[]))]
+internal partial class AppJsonSerializerContext : JsonSerializerContext
+{
+
+}
+
+```
+
+
+
+
+### Generated Files
+
+Those are taken from $(BaseIntermediateOutputPath)\GX
+
+
+
+
+```csharp showLineNumbers
+//
+///
+/// Auto-generated public partial Program class for top-level statement apps.
+///
+public partial class Program \{ }
+```
+
+
+
+
+## Useful
+
+### Download Example (.NET C#)
+
+:::tip
+
+[Download Example project Program ](/sources/Program.zip)
+
+:::
+
+
+### Share Program
+
+
+
+https://ignatandrei.github.io/RSCG_Examples/v2/docs/Program
+
+
+
diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/index.md b/v2/rscg_examples_site/docs/RSCG-Examples/index.md
index 4059373f4..f126b805c 100644
--- a/v2/rscg_examples_site/docs/RSCG-Examples/index.md
+++ b/v2/rscg_examples_site/docs/RSCG-Examples/index.md
@@ -1,7 +1,7 @@
---
sidebar_position: 30
-title: 236 RSCG list by category
-description: 236 RSCG list by category
+title: 237 RSCG list by category
+description: 237 RSCG list by category
slug: /rscg-examples
---
@@ -253,29 +253,34 @@ import DocCardList from '@theme/DocCardList';
## CommandLine
- Expand CommandLine =>examples:1
+ Expand CommandLine =>examples:3
+
+
+
+[CommandLine](/docs/CommandLine)
+
[ArgumentParsing](/docs/ArgumentParsing)
+
+
+
+[ConsoleAppFramework](/docs/ConsoleAppFramework)
+
## Console
- Expand Console =>examples:2
+ Expand Console =>examples:1
[Figgle](/docs/Figgle)
-
-
-
-[ConsoleAppFramework](/docs/ConsoleAppFramework)
-
@@ -455,7 +460,7 @@ import DocCardList from '@theme/DocCardList';
## EnhancementClass
- Expand EnhancementClass =>examples:27
+ Expand EnhancementClass =>examples:28
@@ -591,13 +596,18 @@ import DocCardList from '@theme/DocCardList';
[Comparison](/docs/Comparison)
+
+
+
+[Program](/docs/Program)
+
## EnhancementProject
- Expand EnhancementProject =>examples:20
+ Expand EnhancementProject =>examples:19
@@ -626,11 +636,6 @@ import DocCardList from '@theme/DocCardList';
-[CommandLine](/docs/CommandLine)
-
-
-
-
[PlantUmlClassDiagramGenerator](/docs/PlantUmlClassDiagramGenerator)
@@ -1543,11 +1548,13 @@ flowchart LR;
CodeToString--> RossLean.StringificationGenerator((RossLean.StringificationGenerator))
+ CommandLine--> CommandLine((CommandLine))
+
CommandLine--> ArgumentParsing((ArgumentParsing))
- Console--> Figgle((Figgle))
+ CommandLine--> ConsoleAppFramework((ConsoleAppFramework))
- Console--> ConsoleAppFramework((ConsoleAppFramework))
+ Console--> Figgle((Figgle))
Constructor--> AutoDeconstruct((AutoDeconstruct))
@@ -1661,6 +1668,8 @@ flowchart LR;
EnhancementClass--> Comparison((Comparison))
+ EnhancementClass--> Program((Program))
+
EnhancementProject--> ThisAssembly((ThisAssembly))
EnhancementProject--> RSCG_TimeBombComment((RSCG_TimeBombComment))
@@ -1671,8 +1680,6 @@ flowchart LR;
EnhancementProject--> BuildInfo((BuildInfo))
- EnhancementProject--> CommandLine((CommandLine))
-
EnhancementProject--> PlantUmlClassDiagramGenerator((PlantUmlClassDiagramGenerator))
EnhancementProject--> RSCG_Wait((RSCG_Wait))
diff --git a/v2/rscg_examples_site/docs/about.md b/v2/rscg_examples_site/docs/about.md
index 2e18b0d42..55cd123de 100644
--- a/v2/rscg_examples_site/docs/about.md
+++ b/v2/rscg_examples_site/docs/about.md
@@ -6,7 +6,7 @@ title: About
## Content
You will find here code examples
-of 236 Roslyn Source Code Generator (RSCG)
+of 237 Roslyn Source Code Generator (RSCG)
that can be useful for you. That means, you will write more elegant and concise code - even if the generators code is not always nice to look.
## Are those examples ready for production?
diff --git a/v2/rscg_examples_site/docs/indexRSCG.md b/v2/rscg_examples_site/docs/indexRSCG.md
index 7b35d0e5a..cc0926273 100644
--- a/v2/rscg_examples_site/docs/indexRSCG.md
+++ b/v2/rscg_examples_site/docs/indexRSCG.md
@@ -7,9 +7,9 @@ slug: /List-of-RSCG
import useBaseUrl from '@docusaurus/useBaseUrl';
-## 236 RSCG with examples in descending chronological order
+## 237 RSCG with examples in descending chronological order
-This is the list of 236 ( 14 from Microsoft) RSCG with examples
+This is the list of 237 ( 15 from Microsoft) RSCG with examples
[See by category](/docs/rscg-examples) [See as json](/exports/RSCG.json) [See as Excel](/exports/RSCG.xlsx)
@@ -20,11 +20,12 @@ This is the list of 236 ( 14 from Microsoft) RSCG with examples
| No | Name | Date | Category |
| --------- | ----- | ---- | -------- |
+|237| [Program by Microsoft ](/docs/Program)|2025-11-06 => 06 November 2025 | [EnhancementClass](/docs/Categories/EnhancementClass) |
|236| [validly by Roman Jambor ](/docs/validly)|2025-10-06 => 06 October 2025 | [Validator](/docs/Categories/Validator) |
|235| [Csvcsharp by Yusuke Nakada ](/docs/Csvcsharp)|2025-10-05 => 05 October 2025 | [Serializer](/docs/Categories/Serializer) |
|234| [RapidEnum by hanachiru ](/docs/RapidEnum)|2025-10-04 => 04 October 2025 | [Enum](/docs/Categories/Enum) |
|233| [VYaml by Hadashi A ](/docs/VYaml)|2025-10-03 => 03 October 2025 | [Serializer](/docs/Categories/Serializer) |
-|232| [ConsoleAppFramework by Cysharp, Inc. ](/docs/ConsoleAppFramework)|2025-10-02 => 02 October 2025 | [Console](/docs/Categories/Console) |
+|232| [ConsoleAppFramework by Cysharp, Inc. ](/docs/ConsoleAppFramework)|2025-10-02 => 02 October 2025 | [CommandLine](/docs/Categories/CommandLine) |
|231| [kli.Localize by Tobias Klimm ](/docs/kli.Localize)|2025-10-01 => 01 October 2025 | [FilesToCode](/docs/Categories/FilesToCode) |
|230| [Unflat by pstlnce ](/docs/Unflat)|2025-08-18 => 18 August 2025 | [Database](/docs/Categories/Database) |
|229| [Facet by Tim Maes ](/docs/Facet)|2025-08-17 => 17 August 2025 | [Mapper](/docs/Categories/Mapper) |
@@ -148,7 +149,7 @@ This is the list of 236 ( 14 from Microsoft) RSCG with examples
|111| [cachesourcegenerator by Jeppe Roi Kristensen ](/docs/cachesourcegenerator)|2024-02-14 => 14 February 2024 | [FunctionalProgramming](/docs/Categories/FunctionalProgramming) |
|110| [jab by Pavel Krymets ](/docs/jab)|2024-02-13 => 13 February 2024 | [DependencyInjection](/docs/Categories/DependencyInjection) |
|109| [FunicularSwitch by bluehands ](/docs/FunicularSwitch)|2024-02-12 => 12 February 2024 | [FunctionalProgramming](/docs/Categories/FunctionalProgramming) |
-|108| [CommandLine by DotMake ](/docs/CommandLine)|2024-02-11 => 11 February 2024 | [EnhancementProject](/docs/Categories/EnhancementProject) |
+|108| [CommandLine by DotMake ](/docs/CommandLine)|2024-02-11 => 11 February 2024 | [CommandLine](/docs/Categories/CommandLine) |
|107| [NetAutomaticInterface by codecentric AG ](/docs/NetAutomaticInterface)|2024-01-29 => 29 January 2024 | [Interface](/docs/Categories/Interface) |
|106| [WhatIAmDoing by Ignat Andrei ](/docs/WhatIAmDoing)|2024-01-28 => 28 January 2024 | [AOP](/docs/Categories/AOP) |
|105| [Weave by John Gietzen ](/docs/Weave)|2024-01-27 => 27 January 2024 | [FilesToCode](/docs/Categories/FilesToCode) |
@@ -257,7 +258,7 @@ This is the list of 236 ( 14 from Microsoft) RSCG with examples
|2| [RSCG_TimeBombComment by Andrei Ignat ](/docs/RSCG_TimeBombComment)|2023-04-16 => 16 April 2023 | [EnhancementProject](/docs/Categories/EnhancementProject) |
|1| [ThisAssembly by Daniel Cazzulino ](/docs/ThisAssembly)|2023-04-16 => 16 April 2023 | [EnhancementProject](/docs/Categories/EnhancementProject) |
-## 14 Created by Microsoft
+## 15 Created by Microsoft
If you are interested in Microsoft RSCG, please see
@@ -277,6 +278,7 @@ If you are interested in Microsoft RSCG, please see
|90| [TelemetryLogging by Microsoft ](/docs/TelemetryLogging)|2023-11-30 => 30 November 2023 | EnhancementClass |
|130| [MSTest by Microsoft ](/docs/MSTest)|2024-04-04 => 04 April 2024 | Tests |
|173| [Microsoft.Windows.CsWin32 by Microsoft ](/docs/Microsoft.Windows.CsWin32)|2024-12-01 => 01 December 2024 | WinAPI |
+|237| [Program by Microsoft ](/docs/Program)|2025-11-06 => 06 November 2025 | EnhancementClass |
If you want to study ,there are more at https://github.com/search?q=repo%3Adotnet%2Fruntime%20IIncrementalGenerator&type=code
diff --git a/v2/rscg_examples_site/src/components/HomepageFeatures/index.js b/v2/rscg_examples_site/src/components/HomepageFeatures/index.js
index 6c19a7f65..cdca5edcc 100644
--- a/v2/rscg_examples_site/src/components/HomepageFeatures/index.js
+++ b/v2/rscg_examples_site/src/components/HomepageFeatures/index.js
@@ -4,7 +4,7 @@ import styles from './styles.module.css';
const FeatureList = [
{
-title: '236 Examples (14 from MSFT)',
+title: '237 Examples (15 from MSFT)',
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
description: (
<>
diff --git a/v2/rscg_examples_site/static/exports/RSCG.json b/v2/rscg_examples_site/static/exports/RSCG.json
index 0ca7479e1..814dbf71c 100644
--- a/v2/rscg_examples_site/static/exports/RSCG.json
+++ b/v2/rscg_examples_site/static/exports/RSCG.json
@@ -863,7 +863,7 @@
"Link": "https://ignatandrei.github.io/RSCG_Examples/v2/docs/CommandLine",
"NuGet": "https://www.nuget.org/packages/DotMake.CommandLine/",
"Source": "https://github.com/dotmake-build/command-line",
- "Category": "EnhancementProject",
+ "Category": "CommandLine",
"AddedOn": "2024-02-11T00:00:00"
},
{
@@ -1855,7 +1855,7 @@
"Link": "https://ignatandrei.github.io/RSCG_Examples/v2/docs/ConsoleAppFramework",
"NuGet": "https://www.nuget.org/packages/ConsoleAppFramework/",
"Source": "https://github.com/Cysharp/ConsoleAppFramework",
- "Category": "Console",
+ "Category": "CommandLine",
"AddedOn": "2025-10-02T00:00:00"
},
{
@@ -1889,6 +1889,14 @@
"Source": "https://github.com/Hookyns/validly",
"Category": "Validator",
"AddedOn": "2025-10-06T00:00:00"
+ },
+ {
+ "Name": "Program",
+ "Link": "https://ignatandrei.github.io/RSCG_Examples/v2/docs/Program",
+ "NuGet": "https://www.nuget.org/packages/Microsoft.AspNetCore.OpenApi",
+ "Source": "https://github.com/dotnet/aspnetcore/",
+ "Category": "EnhancementClass",
+ "AddedOn": "2025-11-06T00:00:00"
}
]
}
\ No newline at end of file
diff --git a/v2/rscg_examples_site/static/exports/RSCG.xlsx b/v2/rscg_examples_site/static/exports/RSCG.xlsx
index b478ad539..045f006ac 100644
Binary files a/v2/rscg_examples_site/static/exports/RSCG.xlsx and b/v2/rscg_examples_site/static/exports/RSCG.xlsx differ
diff --git a/v2/rscg_examples_site/static/sources/Program.zip b/v2/rscg_examples_site/static/sources/Program.zip
new file mode 100644
index 000000000..eb666fe26
Binary files /dev/null and b/v2/rscg_examples_site/static/sources/Program.zip differ