From 442c05c9c59a3545effe84ef66ed025bcdf953e2 Mon Sep 17 00:00:00 2001 From: Andrei Ignat Date: Thu, 27 Nov 2025 00:56:47 +0200 Subject: [PATCH 1/3] adding program --- v2/rscg_examples/Program/description.json | 26 ++++++++++ v2/rscg_examples/Program/src/TestProgram.slnx | 3 ++ .../Program/src/TestProgram/Program.cs | 48 +++++++++++++++++++ .../Properties/launchSettings.json | 15 ++++++ .../src/TestProgram/TestProgram.csproj | 18 +++++++ .../Program/src/TestProgram/TestProgram.http | 11 +++++ .../TestProgram/appsettings.Development.json | 8 ++++ .../Program/src/TestProgram/appsettings.json | 9 ++++ 8 files changed, 138 insertions(+) create mode 100644 v2/rscg_examples/Program/description.json create mode 100644 v2/rscg_examples/Program/src/TestProgram.slnx create mode 100644 v2/rscg_examples/Program/src/TestProgram/Program.cs create mode 100644 v2/rscg_examples/Program/src/TestProgram/Properties/launchSettings.json create mode 100644 v2/rscg_examples/Program/src/TestProgram/TestProgram.csproj create mode 100644 v2/rscg_examples/Program/src/TestProgram/TestProgram.http create mode 100644 v2/rscg_examples/Program/src/TestProgram/appsettings.Development.json create mode 100644 v2/rscg_examples/Program/src/TestProgram/appsettings.json diff --git a/v2/rscg_examples/Program/description.json b/v2/rscg_examples/Program/description.json new file mode 100644 index 000000000..0bb589acb --- /dev/null +++ b/v2/rscg_examples/Program/description.json @@ -0,0 +1,26 @@ +{ + "generator":{ + "name":"Program", + "nuget":[ + "https://www.nuget.org/packages/Program/" + ], + "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/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": "*" +} From 30d8eb38be9ed0e1fd5087e8caf8156ed9c0fa38 Mon Sep 17 00:00:00 2001 From: Andrei Ignat Date: Thu, 27 Nov 2025 01:28:32 +0200 Subject: [PATCH 2/3] Add Program (Microsoft.AspNetCore.OpenApi) RSCG example Added the 237th Roslyn Source Code Generator example: Program (Microsoft.AspNetCore.OpenApi) by Microsoft, including documentation, metadata, and example files. Updated category assignments, counts, and listings across CSV, JSON, markdown, and site documentation to reflect the new generator. Adjusted CommandLine and Console category assignments for CommandLine and ConsoleAppFramework generators. --- README.md | 38 ++- later.md | 2 +- v2/.tours/Program.tour | 30 ++ v2/Generator/all.csv | 5 +- v2/RSCGExamplesData/GeneratorDataRec.json | 7 + v2/rscg_examples/Program/description.json | 2 +- v2/rscg_examples/Program/nuget.txt | 3 + v2/rscg_examples/Program/readme.txt | 65 +++++ v2/rscg_examples/Program/video.json | 39 +++ .../docs/Categories/CommandLine.md | 6 +- .../docs/Categories/Console.md | 6 +- .../docs/Categories/EnhancementClass.md | 22 +- .../docs/Categories/EnhancementProject.md | 34 ++- .../docs/Categories/_PrimitiveCommandLine.mdx | 4 + .../docs/Categories/_PrimitiveConsole.mdx | 4 +- .../Categories/_PrimitiveEnhancementClass.mdx | 20 +- .../_PrimitiveEnhancementProject.mdx | 32 +-- .../docs/RSCG-Examples/Program.md | 264 ++++++++++++++++++ .../docs/RSCG-Examples/index.md | 47 ++-- v2/rscg_examples_site/docs/about.md | 2 +- v2/rscg_examples_site/docs/indexRSCG.md | 12 +- .../src/components/HomepageFeatures/index.js | 2 +- .../static/exports/RSCG.json | 12 +- .../static/exports/RSCG.xlsx | Bin 12704 -> 12771 bytes 24 files changed, 556 insertions(+), 102 deletions(-) create mode 100644 v2/.tours/Program.tour create mode 100644 v2/rscg_examples/Program/nuget.txt create mode 100644 v2/rscg_examples/Program/readme.txt create mode 100644 v2/rscg_examples/Program/video.json create mode 100644 v2/rscg_examples_site/docs/RSCG-Examples/Program.md 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/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/rscg_examples/Program/description.json b/v2/rscg_examples/Program/description.json index 0bb589acb..e19a9dc06 100644 --- a/v2/rscg_examples/Program/description.json +++ b/v2/rscg_examples/Program/description.json @@ -2,7 +2,7 @@ "generator":{ "name":"Program", "nuget":[ - "https://www.nuget.org/packages/Program/" + "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", 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 +============ + +[![.NET Foundation](https://img.shields.io/badge/.NET%20Foundation-blueviolet.svg)](https://www.dotnetfoundation.org/) +[![MIT License](https://img.shields.io/github/license/dotnet/aspnetcore?color=%230b0&style=flat-square)](https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt) [![Help Wanted](https://img.shields.io/github/issues/dotnet/aspnetcore/help%20wanted?color=%232EA043&label=help%20wanted&style=flat-square)](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) [![Good First Issues](https://img.shields.io/github/issues/dotnet/aspnetcore/good%20first%20issue?color=%23512BD4&label=good%20first%20issue&style=flat-square)](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) +[![Discord](https://img.shields.io/discord/732297728826277939?style=flat-square&label=Discord&logo=discord&logoColor=white&color=7289DA)](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/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..6be6b65dc --- /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 +[![Nuget](https://img.shields.io/nuget/dt/Microsoft.AspNetCore.OpenApi?label=Microsoft.AspNetCore.OpenApi)](https://www.nuget.org/packages/Microsoft.AspNetCore.OpenApi) +[![GitHub last commit](https://img.shields.io/github/last-commit/dotnet/aspnetcore?label=updated)](https://github.com/dotnet/aspnetcore/) +![GitHub Repo stars](https://img.shields.io/github/stars/dotnet/aspnetcore?style=social) + +## 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 +![Alt text](https://github.com/dotnet.png) +::: + +### Original Readme +:::note + +ASP.NET Core +============ + +[![.NET Foundation](https://img.shields.io/badge/.NET%20Foundation-blueviolet.svg)](https://www.dotnetfoundation.org/) +[![MIT License](https://img.shields.io/github/license/dotnet/aspnetcore?color=%230b0&style=flat-square)](https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt) [![Help Wanted](https://img.shields.io/github/issues/dotnet/aspnetcore/help%20wanted?color=%232EA043&label=help%20wanted&style=flat-square)](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) [![Good First Issues](https://img.shields.io/github/issues/dotnet/aspnetcore/good%20first%20issue?color=%23512BD4&label=good%20first%20issue&style=flat-square)](https://github.com/dotnet/aspnetcore/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) +[![Discord](https://img.shields.io/discord/732297728826277939?style=flat-square&label=Discord&logo=discord&logoColor=white&color=7289DA)](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** | + + +::: + +### 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 b478ad53945d7b02883ea86662439da08c238992..aef80f3d6b1d455ab567f8d3f71d5e331321c41b 100644 GIT binary patch delta 11616 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

vAWiZ%>84Jr<`?lnd{d)UQM@0< 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 delta 11497 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 Pj^%4r3 From d85203b755fc9b6df12038c9b23c56c9a4d07678 Mon Sep 17 00:00:00 2001 From: Andrei Ignat Date: Thu, 27 Nov 2025 01:48:25 +0200 Subject: [PATCH 3/3] Add RSCG example 237: Program and update links Added a new example for RSCG 237 (Program) including HTML documentation and downloadable source zip. Updated the list and YAML to include the new example, adjusted link replacements in MultiGeneratorV2.cs for better path handling, and improved external link references in Program.md. Also updated the RSCG.xlsx export file. --- v2/Generator/MultiGeneratorV2.cs | 8 +++ v2/book/examples/Program.html | 53 ++++++++++++++++++ v2/book/list.html | 6 +- v2/book/pandocHTML.yaml | 1 + .../docs/RSCG-Examples/Program.md | 10 ++-- .../static/exports/RSCG.xlsx | Bin 12771 -> 12769 bytes .../static/sources/Program.zip | Bin 0 -> 2560 bytes 7 files changed, 72 insertions(+), 6 deletions(-) create mode 100644 v2/book/examples/Program.html create mode 100644 v2/rscg_examples_site/static/sources/Program.zip 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/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 =>

@@ -970,6 +970,10 @@

+ + + +
236 validly
237Program
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_site/docs/RSCG-Examples/Program.md b/v2/rscg_examples_site/docs/RSCG-Examples/Program.md index 6be6b65dc..eeb99195d 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/Program.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Program.md @@ -73,16 +73,16 @@ See the [Triage Process](https://github.com/dotnet/aspnetcore/blob/main/docs/Tri 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) +* [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](./docs/BuildFromSource.md) -* Check out the [contributing](CONTRIBUTING.md) page to see the best places to log issues and start discussions. +* [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](SECURITY.md). +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). @@ -97,7 +97,7 @@ These are some other repos for related projects: ## Code of conduct -See [CODE-OF-CONDUCT](./CODE-OF-CONDUCT.md) +See [CODE-OF-CONDUCT](https://github.com/dotnet/aspnetcore//CODE-OF-CONDUCT.md) ## Nightly builds diff --git a/v2/rscg_examples_site/static/exports/RSCG.xlsx b/v2/rscg_examples_site/static/exports/RSCG.xlsx index aef80f3d6b1d455ab567f8d3f71d5e331321c41b..045f006ac71982e286e831432153411a039c14cd 100644 GIT binary patch delta 739 zcmaEy{4lvbz?+#xgn@yBgCU!@I@)OKOuzjM3=B$)3=I50x*|uvJijPADL+43uOc_6 zxBqnCAp;)Qdeu*IK^j`lSEsRhbm-PNddNy$JQ6CiV7`CF*_`z9n%v0eVXrTKebm;d z`%^0IG7n3Y@7k}=rPf{asY|#Ul3cmGz)~>QW!LwZzIxLVL%yX`)>xNxEjL-W(d1vca-1L~1x9kp zw5GX~ts1U@M;zMq z=5o}j$jco#|God}Gb_F~J&NDXc?m@F@vJRtzqd`uFC~rp#+vYG8Ih&EH@@0!DoI-0 z(syEifm~_(;;xyWGcF(5VW8!eo3S(e*NUhouJf+j*cd0Iol4m~`}lr=xrTd>g)jG4 zj{3!VM)@vV&w(n7w;QUlc^iOK001w= B8!SCmd?OAc{cwxZM(g0Z|%R_$oui~=G!~` zd2&vgPk3)E@S<93jlA>@x6RrQZ(NK1>YDhjBW>b4+wl5m=HQ-eRn_mpR%ffDE-s(D z@Ii@BvV`h-#;*s2lS;aEHobAR%C-ITXZO-S?uWA5d1LJS@)hz<{+>|c&~i#`#|o#X zUZv}w7HIIfiGKLNalT@L;kM((U&Gt&?zuAQSuHzfb91WWiEY#V2XWT_-gY0=x2NJ8 zHvT=t$n=P7^Fbz7Ee=o!SeG8UzxkYwG^0R@g`shxiMf%niMgqXnX$#>pSp6KASHJ$ zFJFFVvVxv^{XxIOkkFXBjQ8%Pg{iv>9$LL+y>umW^;S=j^bNMs>~fvq3JNV@oy_8X z)9P=}w>$ZMeg5sgsq=0ayGiX04iHr}C^=TX__gSq$$PUC_TQE(xTKkX!GJC4=aGp` zic3Enu$;-5?%T@$;?t2|7O$t=zVUg%S{(E!M zOJ0f_EH9Zmp+UCvjiKg)=`XFdjks?FFMkklJL_)e@385sm)+ZN2klh+a!KxL=LIVI{Mm-V6TJI$K(V96I)O~0K@Oo zJYY((WMN?71*R4Rcnf3#(@t?oWlm}_DCGorGct)Vz!KWziv}`G+n6R_WRjZ9X~+`+ z3wRBnVIa(nFbT-otHZz$UzD0ttgi 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 0000000000000000000000000000000000000000..eb666fe26d57e3160d37654e05a1a3c8896e57c9 GIT binary patch literal 2560 zcmcIlc~Dd59!(%&-wmcLh9ZKAk^rW%3Izof5=hD#K~R<`AWKYwB2@7~;ROT>0m>p0 zb_n}ktt?TIlCT5>R6rItRuvFyg(AGmyy+v&sQN1?er{Dv2=9Er7(NFLwL z9`l35ab0e$i)&0S|CVh224fg(D*+K79@E{QJe~n~-M)tWIw39%C zD4>x4Y^3K+q0q>5dO*lo8pfJ@fgBV{2_}coF@dzukcw%bFYz6hK;ZY_-0B_6#FjO8 zTd>J&6A8_{JY1l=Pk@6Y5zocyq1%y0b$hVi6Kut+IY!vq$adrJtE~BTw>WxD9VYEa z| zgN_G@+Q&_-O}@DRlCB9J@p4yPo;3S_Ii-|7YR-w6>AhjZM`U=-Lk|W2$cZK_xlK*B z46IAugxPKEv{L=V9zpJSZPk~vd=w@So>Q3M8Fe4n&CP;Kn^^DOp8e&k?K z%Rx0u!l!^5gs1FuYSM%JT(yV(L#m!psG{j3Zw86B1B7F~t})$Jr_{2v>seK2zX3$SHFvHlV+J*5 z_sg4L*du1FSrE1II?qHu;T=B$eRBXh&-wS2tLL0MJC(cZTa6Sye*4;B(~ybBhj@A2 zy>@S3qBON}B%ICsZo>~A>~AjJ6kTiG)mxC>B!3qtC5KmLUWsoTjspk3B~{3_Uo2r< zi`Pwl=@7>e2aay zQ8Pu}8GLy>l*lMaDQ(0xaZlx-(C5M&i4S(RXUKUf~#Bsoxrp}nPjLEG0#`S;c%U*~H=|*`X zrYL7l$|+{AsZ0kiY0B-2PqBLDtrqG{d_Er6Y@K1($JYmg zKoNk<5ke9d^eA5%g&G=q+2>q}Ea0t;mt6=6Ki^F5D;I_j!c zR3Pn$y;8-E%J^nhJk!sdY0p4&~rE zEgN#!Q%&*5GUxK3^*bk&4eKDk<%$g=56Q`_6)Q(8i})muE5=6ZOVqncdr>34JNf90 zp4q)gpViJ}tSy@e-Lamk=ypJ-(UZ42m7G0xn9_iQ$-WcquTeuRjtwT}eIi@-@#2Ol z@*bAS+TmHcu~k$3y&bdK{Z)r0Tvh!FZZDdHRgL<37GF!1w87&V?LMQ(8C4sNLi{X?(e9})Z2IBkj`!|`bi!Yrm zGKrX+nw3LhX0b|HE;%gm14mAr$O1e|UH;Ky3+>fIV&azDw@bji;)Nm->Uoc*=#B zVhGVINa#i@-o%&UWC` z1RlZ3ZY90o?#~7G_SOL4Q(*U3<69V2IApg`rGdeI33Y3Xf=HhW!EK}_A*Ag{6vX(P z%WPw0LjK7{fEnh$o+F6$xm&c21rhr)*4CX8MiQ3#HWFJ1>FdHL;-J9)AdoolDgZt@ ID!#S)58R~R1ONa4 literal 0 HcmV?d00001