first real commit
This commit is contained in:
BIN
packages/System.CodeDom.10.0.1/.signature.p7s
vendored
Executable file
BIN
packages/System.CodeDom.10.0.1/.signature.p7s
vendored
Executable file
Binary file not shown.
BIN
packages/System.CodeDom.10.0.1/Icon.png
vendored
Executable file
BIN
packages/System.CodeDom.10.0.1/Icon.png
vendored
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 2.1 KiB |
127
packages/System.CodeDom.10.0.1/PACKAGE.md
vendored
Executable file
127
packages/System.CodeDom.10.0.1/PACKAGE.md
vendored
Executable file
@@ -0,0 +1,127 @@
|
||||
## About
|
||||
|
||||
<!-- A description of the package and where one can find more documentation -->
|
||||
|
||||
Provides functionality for dynamically generating and compiling source code using the Code Document Object Model (CodeDOM).
|
||||
|
||||
It allows developers to represent code in a language-agnostic format and then generate code in multiple languages, such as C# and VB.NET.
|
||||
The primary use cases include creating dynamic code generation tools, runtime code generation, and facilitating code analysis or transformation.
|
||||
|
||||
For a new modern development consider using the [.NET Compiler Platform SDK](https://learn.microsoft.com/dotnet/csharp/roslyn-sdk/), in particular [Roslyn source generators](https://learn.microsoft.com/dotnet/csharp/roslyn-sdk/source-generators-overview#get-started-with-source-generators).
|
||||
|
||||
## Key Features
|
||||
|
||||
<!-- The key features of this package -->
|
||||
|
||||
* Write code using a common object model that can be translated into multiple programming languages.
|
||||
* Generate and compile code at runtime based on the CodeDOM.
|
||||
|
||||
## How to Use
|
||||
|
||||
<!-- A compelling example on how to use this package with code, as well as any specific guidelines for when to use the package -->
|
||||
|
||||
Generating and compiling C# code:
|
||||
|
||||
```csharp
|
||||
using System.CodeDom;
|
||||
using System.CodeDom.Compiler;
|
||||
using Microsoft.CSharp;
|
||||
|
||||
// Create a new CodeCompileUnit to hold the code
|
||||
var compileUnit = new CodeCompileUnit();
|
||||
|
||||
// Create a namespace
|
||||
var codeNamespace = new CodeNamespace("MyNamespace");
|
||||
compileUnit.Namespaces.Add(codeNamespace);
|
||||
|
||||
// Create a class
|
||||
var classDeclaration = new CodeTypeDeclaration("MyClass")
|
||||
{
|
||||
IsClass = true
|
||||
};
|
||||
codeNamespace.Types.Add(classDeclaration);
|
||||
|
||||
// Add a simple method to the class
|
||||
var method = new CodeMemberMethod
|
||||
{
|
||||
Name = "HelloWorld",
|
||||
ReturnType = new CodeTypeReference(typeof(void)),
|
||||
};
|
||||
classDeclaration.Members.Add(method);
|
||||
|
||||
var methodInvocation = new CodeMethodInvokeExpression(new CodeTypeReferenceExpression("Console"),
|
||||
"WriteLine",
|
||||
new CodePrimitiveExpression("Hello, World!"));
|
||||
method.Statements.Add(methodInvocation);
|
||||
|
||||
// Generate C# code from the CodeDOM structure
|
||||
CodeDomProvider provider = new CSharpCodeProvider();
|
||||
|
||||
using (var writer = new StringWriter())
|
||||
{
|
||||
var codeGenereationOptions = new CodeGeneratorOptions()
|
||||
{
|
||||
BlankLinesBetweenMembers = false,
|
||||
IndentString = " ",
|
||||
};
|
||||
|
||||
provider.GenerateCodeFromCompileUnit(compileUnit, writer, codeGenereationOptions);
|
||||
Console.WriteLine(writer.GetStringBuilder().ToString());
|
||||
}
|
||||
```
|
||||
|
||||
This example generates:
|
||||
|
||||
```csharp
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace MyNamespace {
|
||||
|
||||
public class MyClass {
|
||||
private void HelloWorld() {
|
||||
Console.WriteLine("Hello, World!");
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Main Types
|
||||
|
||||
<!-- The main types provided in this library -->
|
||||
|
||||
The main types provided by this library are:
|
||||
|
||||
* `System.CodeDom.CodeObject`
|
||||
* `System.CodeDom.CodeCompileUnit`
|
||||
* `System.CodeDom.CodeNamespace`
|
||||
* `System.CodeDom.CodeTypeDeclaration`
|
||||
* `System.CodeDom.CodeMemberMethod`
|
||||
* `System.CodeDom.CodeTypeReference`
|
||||
* `System.CodeDom.CodeMethodInvokeExpression`
|
||||
* `System.CodeDom.CodeTypeReferenceExpression`
|
||||
* `System.CodeDom.CodePrimitiveExpression`
|
||||
* `System.CodeDom.Compiler.CodeDomProvider`
|
||||
* `System.CodeDom.Compiler.CodeGeneratorOptions`
|
||||
* `Microsoft.CSharp.CSharpCodeProvider`
|
||||
* `Microsoft.VisualBasic.VBCodeProvider`
|
||||
|
||||
## Additional Documentation
|
||||
|
||||
<!-- Links to further documentation. Remove conceptual documentation if not available for the library. -->
|
||||
|
||||
* [API documentation](https://learn.microsoft.com/dotnet/api/system.codedom)
|
||||
* [Compile and generate dynamic source code](https://learn.microsoft.com/dotnet/framework/reflection-and-codedom/dynamic-source-code-generation-and-compilation)
|
||||
|
||||
## Feedback & Contributing
|
||||
|
||||
<!-- How to provide feedback on this package and contribute to it -->
|
||||
|
||||
System.CodeDom is released as open source under the [MIT license](https://licenses.nuget.org/MIT).
|
||||
Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).
|
||||
BIN
packages/System.CodeDom.10.0.1/System.CodeDom.10.0.1.nupkg
vendored
Executable file
BIN
packages/System.CodeDom.10.0.1/System.CodeDom.10.0.1.nupkg
vendored
Executable file
Binary file not shown.
1418
packages/System.CodeDom.10.0.1/THIRD-PARTY-NOTICES.TXT
vendored
Executable file
1418
packages/System.CodeDom.10.0.1/THIRD-PARTY-NOTICES.TXT
vendored
Executable file
File diff suppressed because it is too large
Load Diff
6
packages/System.CodeDom.10.0.1/buildTransitive/net461/System.CodeDom.targets
vendored
Executable file
6
packages/System.CodeDom.10.0.1/buildTransitive/net461/System.CodeDom.targets
vendored
Executable file
@@ -0,0 +1,6 @@
|
||||
<Project InitialTargets="NETStandardCompatError_System_CodeDom_net462">
|
||||
<Target Name="NETStandardCompatError_System_CodeDom_net462"
|
||||
Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
|
||||
<Warning Text="System.CodeDom 10.0.1 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net462 or later. You may also set <SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings> in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
|
||||
</Target>
|
||||
</Project>
|
||||
0
packages/System.CodeDom.10.0.1/buildTransitive/net462/_._
vendored
Executable file
0
packages/System.CodeDom.10.0.1/buildTransitive/net462/_._
vendored
Executable file
0
packages/System.CodeDom.10.0.1/buildTransitive/net8.0/_._
vendored
Executable file
0
packages/System.CodeDom.10.0.1/buildTransitive/net8.0/_._
vendored
Executable file
6
packages/System.CodeDom.10.0.1/buildTransitive/netcoreapp2.0/System.CodeDom.targets
vendored
Executable file
6
packages/System.CodeDom.10.0.1/buildTransitive/netcoreapp2.0/System.CodeDom.targets
vendored
Executable file
@@ -0,0 +1,6 @@
|
||||
<Project InitialTargets="NETStandardCompatError_System_CodeDom_net8_0">
|
||||
<Target Name="NETStandardCompatError_System_CodeDom_net8_0"
|
||||
Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
|
||||
<Warning Text="System.CodeDom 10.0.1 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net8.0 or later. You may also set <SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings> in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
|
||||
</Target>
|
||||
</Project>
|
||||
BIN
packages/System.CodeDom.10.0.1/lib/net10.0/System.CodeDom.dll
vendored
Executable file
BIN
packages/System.CodeDom.10.0.1/lib/net10.0/System.CodeDom.dll
vendored
Executable file
Binary file not shown.
4454
packages/System.CodeDom.10.0.1/lib/net10.0/System.CodeDom.xml
vendored
Executable file
4454
packages/System.CodeDom.10.0.1/lib/net10.0/System.CodeDom.xml
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
packages/System.CodeDom.10.0.1/lib/net462/System.CodeDom.dll
vendored
Executable file
BIN
packages/System.CodeDom.10.0.1/lib/net462/System.CodeDom.dll
vendored
Executable file
Binary file not shown.
4454
packages/System.CodeDom.10.0.1/lib/net462/System.CodeDom.xml
vendored
Executable file
4454
packages/System.CodeDom.10.0.1/lib/net462/System.CodeDom.xml
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
packages/System.CodeDom.10.0.1/lib/net8.0/System.CodeDom.dll
vendored
Executable file
BIN
packages/System.CodeDom.10.0.1/lib/net8.0/System.CodeDom.dll
vendored
Executable file
Binary file not shown.
4454
packages/System.CodeDom.10.0.1/lib/net8.0/System.CodeDom.xml
vendored
Executable file
4454
packages/System.CodeDom.10.0.1/lib/net8.0/System.CodeDom.xml
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
packages/System.CodeDom.10.0.1/lib/net9.0/System.CodeDom.dll
vendored
Executable file
BIN
packages/System.CodeDom.10.0.1/lib/net9.0/System.CodeDom.dll
vendored
Executable file
Binary file not shown.
4454
packages/System.CodeDom.10.0.1/lib/net9.0/System.CodeDom.xml
vendored
Executable file
4454
packages/System.CodeDom.10.0.1/lib/net9.0/System.CodeDom.xml
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
packages/System.CodeDom.10.0.1/lib/netstandard2.0/System.CodeDom.dll
vendored
Executable file
BIN
packages/System.CodeDom.10.0.1/lib/netstandard2.0/System.CodeDom.dll
vendored
Executable file
Binary file not shown.
4454
packages/System.CodeDom.10.0.1/lib/netstandard2.0/System.CodeDom.xml
vendored
Executable file
4454
packages/System.CodeDom.10.0.1/lib/netstandard2.0/System.CodeDom.xml
vendored
Executable file
File diff suppressed because it is too large
Load Diff
0
packages/System.CodeDom.10.0.1/useSharedDesignerContext.txt
vendored
Executable file
0
packages/System.CodeDom.10.0.1/useSharedDesignerContext.txt
vendored
Executable file
Reference in New Issue
Block a user