Udostępnij za pośrednictwem


CodeDomProvider.CompileAssemblyFromSource Metoda

Definicja

Kompiluje zestaw z określonej tablicy ciągów zawierających kod źródłowy przy użyciu określonych ustawień kompilatora.

public:
 virtual System::CodeDom::Compiler::CompilerResults ^ CompileAssemblyFromSource(System::CodeDom::Compiler::CompilerParameters ^ options, ... cli::array <System::String ^> ^ sources);
public virtual System.CodeDom.Compiler.CompilerResults CompileAssemblyFromSource (System.CodeDom.Compiler.CompilerParameters options, params string[] sources);
abstract member CompileAssemblyFromSource : System.CodeDom.Compiler.CompilerParameters * string[] -> System.CodeDom.Compiler.CompilerResults
override this.CompileAssemblyFromSource : System.CodeDom.Compiler.CompilerParameters * string[] -> System.CodeDom.Compiler.CompilerResults
Public Overridable Function CompileAssemblyFromSource (options As CompilerParameters, ParamArray sources As String()) As CompilerResults

Parametry

options
CompilerParameters

CompilerParameters Obiekt wskazujący ustawienia kompilatora dla tej kompilacji.

sources
String[]

Tablica ciągów kodu źródłowego do skompilowania.

Zwraca

CompilerResults Obiekt, który wskazuje wyniki kompilacji.

Wyjątki

Ani ta metoda, ani metoda nie CreateCompiler() są zastępowane w klasie pochodnej.

Tylko platformy .NET Core i .NET 5+: we wszystkich przypadkach.

Uwagi

Uwaga

W .NET Framework wersji 1.0 i 1.1 ta metoda jest dostarczana przez ICodeCompiler implementację zwracaną przez CreateCompiler metodę dostawcy. W wersji 2.0 tę metodę można wywołać bezpośrednio u dostawcy kodu, nawet jeśli nie jest on zastępowany przez dostawcę kodu. Jeśli dostawca kodu nie zastąpi tej metody, implementacja ICodeCompiler jest wywoływana przez klasę bazową.

Uwaga

Na platformach .NET Core i .NET 5 lub nowszych wywołania CodeDomProvider.CompileAssemblyFromSource metody zgłaszają PlatformNotSupportedExceptionwyjątek . Kompilowanie kodu źródłowego nie jest obsługiwane.

Uwagi dotyczące dziedziczenia

Jeśli zastąpisz tę metodę, nie można wywołać odpowiedniej metody klasy bazowej. Metoda klasy bazowej tworzy generator w klasie pochodnej przy użyciu przestarzałej CreateCompiler() metody w celu zapewnienia zgodności z wcześniej istniejących dostawców korzystających z kompilatorów kodu. Następnie metoda klasy bazowej wywołuje równoważną metodę w implementacji ICodeCompiler , aby wykonać tę funkcję. Jeśli wywołasz metodę klasy bazowej od dostawcy kodu, który nie używa kompilatora kodu, otrzymasz NotImplementedException metodę klasy bazowej.

Dotyczy

Zobacz też