Compilation.Emit Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, CancellationToken)
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
public:
Microsoft::CodeAnalysis::Emit::EmitResult ^ Emit(System::IO::Stream ^ peStream, System::IO::Stream ^ pdbStream, System::IO::Stream ^ xmlDocumentationStream, System::IO::Stream ^ win32Resources, System::Collections::Generic::IEnumerable<Microsoft::CodeAnalysis::ResourceDescription ^> ^ manifestResources, Microsoft::CodeAnalysis::Emit::EmitOptions ^ options, System::Threading::CancellationToken cancellationToken);
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public Microsoft.CodeAnalysis.Emit.EmitResult Emit (System.IO.Stream peStream, System.IO.Stream pdbStream, System.IO.Stream xmlDocumentationStream, System.IO.Stream win32Resources, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.ResourceDescription> manifestResources, Microsoft.CodeAnalysis.Emit.EmitOptions options, System.Threading.CancellationToken cancellationToken);
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public Microsoft.CodeAnalysis.Emit.EmitResult Emit (System.IO.Stream peStream, System.IO.Stream? pdbStream, System.IO.Stream? xmlDocumentationStream, System.IO.Stream? win32Resources, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.ResourceDescription>? manifestResources, Microsoft.CodeAnalysis.Emit.EmitOptions options, System.Threading.CancellationToken cancellationToken);
[<System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)>]
member this.Emit : System.IO.Stream * System.IO.Stream * System.IO.Stream * System.IO.Stream * seq<Microsoft.CodeAnalysis.ResourceDescription> * Microsoft.CodeAnalysis.Emit.EmitOptions * System.Threading.CancellationToken -> Microsoft.CodeAnalysis.Emit.EmitResult
Public Function Emit (peStream As Stream, pdbStream As Stream, xmlDocumentationStream As Stream, win32Resources As Stream, manifestResources As IEnumerable(Of ResourceDescription), options As EmitOptions, cancellationToken As CancellationToken) As EmitResult
Parameters
- peStream
- Stream
- pdbStream
- Stream
- xmlDocumentationStream
- Stream
- win32Resources
- Stream
- manifestResources
- IEnumerable<ResourceDescription>
- options
- EmitOptions
- cancellationToken
- CancellationToken
Returns
- Attributes
Applies to
Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, IMethodSymbol, CancellationToken)
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
public:
Microsoft::CodeAnalysis::Emit::EmitResult ^ Emit(System::IO::Stream ^ peStream, System::IO::Stream ^ pdbStream, System::IO::Stream ^ xmlDocumentationStream, System::IO::Stream ^ win32Resources, System::Collections::Generic::IEnumerable<Microsoft::CodeAnalysis::ResourceDescription ^> ^ manifestResources, Microsoft::CodeAnalysis::Emit::EmitOptions ^ options, Microsoft::CodeAnalysis::IMethodSymbol ^ debugEntryPoint, System::Threading::CancellationToken cancellationToken);
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public Microsoft.CodeAnalysis.Emit.EmitResult Emit (System.IO.Stream peStream, System.IO.Stream pdbStream, System.IO.Stream xmlDocumentationStream, System.IO.Stream win32Resources, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.ResourceDescription> manifestResources, Microsoft.CodeAnalysis.Emit.EmitOptions options, Microsoft.CodeAnalysis.IMethodSymbol debugEntryPoint, System.Threading.CancellationToken cancellationToken);
[<System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)>]
member this.Emit : System.IO.Stream * System.IO.Stream * System.IO.Stream * System.IO.Stream * seq<Microsoft.CodeAnalysis.ResourceDescription> * Microsoft.CodeAnalysis.Emit.EmitOptions * Microsoft.CodeAnalysis.IMethodSymbol * System.Threading.CancellationToken -> Microsoft.CodeAnalysis.Emit.EmitResult
Public Function Emit (peStream As Stream, pdbStream As Stream, xmlDocumentationStream As Stream, win32Resources As Stream, manifestResources As IEnumerable(Of ResourceDescription), options As EmitOptions, debugEntryPoint As IMethodSymbol, cancellationToken As CancellationToken) As EmitResult
Parameters
- peStream
- Stream
- pdbStream
- Stream
- xmlDocumentationStream
- Stream
- win32Resources
- Stream
- manifestResources
- IEnumerable<ResourceDescription>
- options
- EmitOptions
- debugEntryPoint
- IMethodSymbol
- cancellationToken
- CancellationToken
Returns
- Attributes
Applies to
Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, IMethodSymbol, Stream, IEnumerable<EmbeddedText>, CancellationToken)
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
public:
Microsoft::CodeAnalysis::Emit::EmitResult ^ Emit(System::IO::Stream ^ peStream, System::IO::Stream ^ pdbStream, System::IO::Stream ^ xmlDocumentationStream, System::IO::Stream ^ win32Resources, System::Collections::Generic::IEnumerable<Microsoft::CodeAnalysis::ResourceDescription ^> ^ manifestResources, Microsoft::CodeAnalysis::Emit::EmitOptions ^ options, Microsoft::CodeAnalysis::IMethodSymbol ^ debugEntryPoint, System::IO::Stream ^ sourceLinkStream, System::Collections::Generic::IEnumerable<Microsoft::CodeAnalysis::EmbeddedText ^> ^ embeddedTexts, System::Threading::CancellationToken cancellationToken);
public Microsoft.CodeAnalysis.Emit.EmitResult Emit (System.IO.Stream peStream, System.IO.Stream pdbStream, System.IO.Stream xmlDocumentationStream, System.IO.Stream win32Resources, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.ResourceDescription> manifestResources, Microsoft.CodeAnalysis.Emit.EmitOptions options, Microsoft.CodeAnalysis.IMethodSymbol debugEntryPoint, System.IO.Stream sourceLinkStream, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.EmbeddedText> embeddedTexts, System.Threading.CancellationToken cancellationToken);
public Microsoft.CodeAnalysis.Emit.EmitResult Emit (System.IO.Stream peStream, System.IO.Stream? pdbStream, System.IO.Stream? xmlDocumentationStream, System.IO.Stream? win32Resources, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.ResourceDescription>? manifestResources, Microsoft.CodeAnalysis.Emit.EmitOptions options, Microsoft.CodeAnalysis.IMethodSymbol? debugEntryPoint, System.IO.Stream? sourceLinkStream, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.EmbeddedText>? embeddedTexts, System.Threading.CancellationToken cancellationToken);
member this.Emit : System.IO.Stream * System.IO.Stream * System.IO.Stream * System.IO.Stream * seq<Microsoft.CodeAnalysis.ResourceDescription> * Microsoft.CodeAnalysis.Emit.EmitOptions * Microsoft.CodeAnalysis.IMethodSymbol * System.IO.Stream * seq<Microsoft.CodeAnalysis.EmbeddedText> * System.Threading.CancellationToken -> Microsoft.CodeAnalysis.Emit.EmitResult
Public Function Emit (peStream As Stream, pdbStream As Stream, xmlDocumentationStream As Stream, win32Resources As Stream, manifestResources As IEnumerable(Of ResourceDescription), options As EmitOptions, debugEntryPoint As IMethodSymbol, sourceLinkStream As Stream, embeddedTexts As IEnumerable(Of EmbeddedText), cancellationToken As CancellationToken) As EmitResult
Parameters
- peStream
- Stream
- pdbStream
- Stream
- xmlDocumentationStream
- Stream
- win32Resources
- Stream
- manifestResources
- IEnumerable<ResourceDescription>
- options
- EmitOptions
- debugEntryPoint
- IMethodSymbol
- sourceLinkStream
- Stream
- embeddedTexts
- IEnumerable<EmbeddedText>
- cancellationToken
- CancellationToken
Returns
Applies to
Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, IMethodSymbol, Stream, IEnumerable<EmbeddedText>, Stream, CancellationToken)
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
- Source:
- Compilation.cs
Emit the IL for the compiled source code into the specified stream.
public Microsoft.CodeAnalysis.Emit.EmitResult Emit (System.IO.Stream peStream, System.IO.Stream pdbStream = default, System.IO.Stream xmlDocumentationStream = default, System.IO.Stream win32Resources = default, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.ResourceDescription> manifestResources = default, Microsoft.CodeAnalysis.Emit.EmitOptions options = default, Microsoft.CodeAnalysis.IMethodSymbol debugEntryPoint = default, System.IO.Stream sourceLinkStream = default, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.EmbeddedText> embeddedTexts = default, System.IO.Stream metadataPEStream = default, System.Threading.CancellationToken cancellationToken = default);
public Microsoft.CodeAnalysis.Emit.EmitResult Emit (System.IO.Stream peStream, System.IO.Stream? pdbStream = default, System.IO.Stream? xmlDocumentationStream = default, System.IO.Stream? win32Resources = default, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.ResourceDescription>? manifestResources = default, Microsoft.CodeAnalysis.Emit.EmitOptions? options = default, Microsoft.CodeAnalysis.IMethodSymbol? debugEntryPoint = default, System.IO.Stream? sourceLinkStream = default, System.Collections.Generic.IEnumerable<Microsoft.CodeAnalysis.EmbeddedText>? embeddedTexts = default, System.IO.Stream? metadataPEStream = default, System.Threading.CancellationToken cancellationToken = default);
member this.Emit : System.IO.Stream * System.IO.Stream * System.IO.Stream * System.IO.Stream * seq<Microsoft.CodeAnalysis.ResourceDescription> * Microsoft.CodeAnalysis.Emit.EmitOptions * Microsoft.CodeAnalysis.IMethodSymbol * System.IO.Stream * seq<Microsoft.CodeAnalysis.EmbeddedText> * System.IO.Stream * System.Threading.CancellationToken -> Microsoft.CodeAnalysis.Emit.EmitResult
Public Function Emit (peStream As Stream, Optional pdbStream As Stream = Nothing, Optional xmlDocumentationStream As Stream = Nothing, Optional win32Resources As Stream = Nothing, Optional manifestResources As IEnumerable(Of ResourceDescription) = Nothing, Optional options As EmitOptions = Nothing, Optional debugEntryPoint As IMethodSymbol = Nothing, Optional sourceLinkStream As Stream = Nothing, Optional embeddedTexts As IEnumerable(Of EmbeddedText) = Nothing, Optional metadataPEStream As Stream = Nothing, Optional cancellationToken As CancellationToken = Nothing) As EmitResult
Parameters
- peStream
- Stream
Stream to which the compilation will be written.
- pdbStream
- Stream
Stream to which the compilation's debug info will be written. Null to forego PDB generation.
- xmlDocumentationStream
- Stream
Stream to which the compilation's XML documentation will be written. Null to forego XML generation.
- win32Resources
- Stream
Stream from which the compilation's Win32 resources will be read (in RES format). Null to indicate that there are none. The RES format begins with a null resource entry. Note that the caller is responsible for disposing this stream, if provided.
- manifestResources
- IEnumerable<ResourceDescription>
List of the compilation's managed resources. Null to indicate that there are none.
- options
- EmitOptions
Emit options.
- debugEntryPoint
- IMethodSymbol
Debug entry-point of the assembly. The method token is stored in the generated PDB stream.
When a program launches with a debugger attached the debugger places the first breakpoint to the start of the debug entry-point method. The CLR starts executing the static Main method of MainTypeName type. When the first breakpoint is hit the debugger steps thru the code statement by statement until user code is reached, skipping methods marked by DebuggerHiddenAttribute, and taking other debugging attributes into consideration.
By default both entry points in an executable program (ConsoleApplication, WindowsApplication, WindowsRuntimeApplication) are the same method (Main). A non-executable program has no entry point. Runtimes that implement a custom loader may specify debug entry-point to force the debugger to skip over complex custom loader logic executing at the beginning of the .exe and thus improve debugging experience.
Unlike ordinary entry-point which is limited to a non-generic static method of specific signature, there are no restrictions on the debugEntryPoint
method other than having a method body (extern, interface, or abstract methods are not allowed).
- sourceLinkStream
- Stream
Stream containing information linking the compilation to a source control.
- embeddedTexts
- IEnumerable<EmbeddedText>
Texts to embed in the PDB. Only supported when emitting Portable PDBs.
- metadataPEStream
- Stream
Stream to which the metadata-only output will be written.
- cancellationToken
- CancellationToken
To cancel the emit process.