Black.Beard.Roslyn 1.0.75

There is a newer version of this package available.
See the version list below for details.
dotnet add package Black.Beard.Roslyn --version 1.0.75                
NuGet\Install-Package Black.Beard.Roslyn -Version 1.0.75                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Black.Beard.Roslyn" Version="1.0.75" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Black.Beard.Roslyn --version 1.0.75                
#r "nuget: Black.Beard.Roslyn, 1.0.75"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Black.Beard.Roslyn as a Cake Addin
#addin nuget:?package=Black.Beard.Roslyn&version=1.0.75

// Install Black.Beard.Roslyn as a Cake Tool
#tool nuget:?package=Black.Beard.Roslyn&version=1.0.75                

Black.Beard.Roslyn

Build status

Use Roslyn for generate the assembly


    // Use NJsonSchema for generate json schema
    JsonSchema schema = JsonSchema.FromType(typeof(Sample1));

    // Helper for manipulate codeDom object
    var samples = "CodeDOMSample".ToNamespace()
        .Import("System")       // append usings

        .AppendPoco(schema)     // add a poco class from schema

        .ToCSharp(Path.Combine(_dir.FullName, "class1.cs")) // Generate csharp code
        ;

    // compile
    AssemblyResult assembly = GetCsharpBuilder(samples.FullName);

    // consumme the result assembly
    if (assembly.Success)
    {
        var ass = assembly.LoadAssembly();
        var type = ass.GetTypes().First(c => c.Name == "Sample1");
        Assert.NotNull(type);
    
        var property = type.GetProperties().FirstOrDefault(c => nameof(Sample1.Name) == c.Name);
        Assert.NotNull(property);
    
    }
    else
    {
        var payload = File.ReadAllText(samples.FullName);
        throw new Exception();
    }


    private static Bb.Compilers.AssemblyResult GetCsharpBuilder(string filepathCode)
    {

        var fileInfo = new FileInfo(filepathCode);

        // Build assembly

        Action<CSharpCompilationOptions> action = (r) =>
        {

        };

        BuildCSharp builder = new BuildCSharp()
        {
            ResolveAssembliesInCode = true,
            Debug = true,
            LanguageVersion = LanguageVersion.CSharp7,
        }
        .AddSource(fileInfo)
        .Suppress("CS1702", "CS1998")
        ;

        // System.Collections
        builder.References.AddRange(
            typeof(object),
            typeof(RequiredAttribute)
        );

        var assembly = builder.Build();
        return assembly;

    }        

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Black.Beard.Roslyn:

Package Downloads
Black.Beard.Jslt

Implementation of jslt language in DOTNET. Use a template for transform Json document to another json document.

Black.Beard.OpenApi

add helpers for manipulate open api document. provide a visitor pattern.

Black.Beard.OpenApiServices

add visitor for generate code from open api documentation

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.119 73 5/3/2024
1.0.118 131 5/2/2024
1.0.117 194 4/7/2024
1.0.114 301 4/3/2024
1.0.113 318 3/31/2024
1.0.112 232 3/19/2024
1.0.111 121 3/16/2024
1.0.110 112 3/16/2024
1.0.109 149 3/15/2024
1.0.108 161 3/13/2024
1.0.107 222 3/12/2024
1.0.106 115 3/9/2024
1.0.105 110 3/6/2024
1.0.104 101 3/5/2024
1.0.103 145 3/4/2024
1.0.102 140 3/4/2024
1.0.101 113 3/4/2024
1.0.100 144 3/4/2024
1.0.99 158 3/3/2024
1.0.98 114 2/29/2024
1.0.97 110 2/29/2024
1.0.96 104 2/29/2024
1.0.95 118 2/27/2024
1.0.94 149 2/26/2024
1.0.93 133 2/25/2024
1.0.92 105 2/24/2024
1.0.91 100 2/24/2024
1.0.90 109 2/24/2024
1.0.89 200 2/24/2024
1.0.88 99 2/24/2024
1.0.87 121 2/23/2024
1.0.86 107 2/23/2024
1.0.85 106 2/23/2024
1.0.84 116 2/23/2024
1.0.83 130 2/23/2024
1.0.82 108 2/23/2024
1.0.81 108 2/22/2024
1.0.80 90 2/22/2024
1.0.79 80 2/22/2024
1.0.78 85 2/22/2024
1.0.77 111 2/21/2024
1.0.76 140 2/19/2024
1.0.75 107 2/19/2024
1.0.74 96 2/18/2024
1.0.73 97 2/17/2024
1.0.72 279 12/12/2023
1.0.70 246 10/17/2023
1.0.69 179 10/17/2023
1.0.68 147 10/17/2023
1.0.67 145 10/16/2023
1.0.66 163 10/16/2023
1.0.65 198 10/13/2023
1.0.64 194 10/10/2023
1.0.63 262 9/13/2023
1.0.62 198 7/31/2023
1.0.61 204 7/28/2023
1.0.60 180 7/28/2023
1.0.59 204 7/28/2023
1.0.58 191 7/28/2023
1.0.57 147 7/28/2023
1.0.56 172 7/27/2023
1.0.55 161 7/27/2023
1.0.54 202 7/27/2023
1.0.53 180 7/27/2023
1.0.52 200 7/27/2023
1.0.51 220 7/25/2023
1.0.50 193 7/25/2023
1.0.49 444 7/4/2023
1.0.48 212 6/30/2023
1.0.47 260 6/30/2023
1.0.46 212 6/30/2023
1.0.45 256 6/17/2023
1.0.44 238 6/17/2023
1.0.43 224 6/17/2023
1.0.42 240 6/6/2023
1.0.41 256 6/5/2023
1.0.40 222 6/5/2023
1.0.39 257 6/5/2023
1.0.38 259 5/31/2023
1.0.37 181 5/30/2023
1.0.36 229 5/30/2023
1.0.35 193 5/30/2023
1.0.33 212 5/30/2023
1.0.32 237 5/30/2023
1.0.31 205 5/30/2023
1.0.30 203 5/29/2023
1.0.29 222 5/25/2023
1.0.28 196 5/24/2023
1.0.27 195 5/18/2023
1.0.26 209 5/18/2023
1.0.25 232 5/18/2023
1.0.24 204 5/16/2023
1.0.23 220 5/15/2023
1.0.22 206 5/15/2023
1.0.20 192 5/14/2023
1.0.18 1,290 5/18/2022
1.0.17 1,710 5/17/2022
1.0.16 459 5/17/2022
1.0.15 471 4/3/2022
1.0.13 472 4/3/2022
1.0.12 1,751 3/28/2022
1.0.11 454 3/27/2022
1.0.10 3,683 3/16/2022
1.0.9 466 3/16/2022
1.0.8 459 3/16/2022
1.0.7 471 3/16/2022
1.0.6 500 3/16/2022
1.0.5 468 3/16/2022
1.0.4 457 3/14/2022
1.0.3 474 3/6/2022
1.0.2 9,874 12/19/2021
1.0.1 435 12/18/2021