VBCodeProvider 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Visual Basic 코드 생성기 및 코드 컴파일러의 인스턴스에 액세스합니다.
public ref class VBCodeProvider : System::CodeDom::Compiler::CodeDomProvider
public class VBCodeProvider : System.CodeDom.Compiler.CodeDomProvider
type VBCodeProvider = class
inherit CodeDomProvider
Public Class VBCodeProvider
Inherits CodeDomProvider
- 상속
예제
다음 예제에서는 C# 또는 Visual Basic 코드 공급자를 사용하여 소스 파일을 컴파일합니다. 이 예제에서는 입력 파일 확장자를 확인하고 해당 CSharpCodeProvider 또는 VBCodeProvider 를 컴파일에 사용합니다. 입력 파일이 실행 파일로 컴파일되고 컴파일 오류가 콘솔에 표시됩니다.
public static bool CompileExecutable(String sourceName)
{
FileInfo sourceFile = new FileInfo(sourceName);
CodeDomProvider provider = null;
bool compileOk = false;
// Select the code provider based on the input file extension.
if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) == ".CS")
{
provider = CodeDomProvider.CreateProvider("CSharp");
}
else if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) == ".VB")
{
provider = CodeDomProvider.CreateProvider("VisualBasic");
}
else
{
Console.WriteLine("Source file must have a .cs or .vb extension");
}
if (provider != null)
{
// Format the executable file name.
// Build the output assembly path using the current directory
// and <source>_cs.exe or <source>_vb.exe.
String exeName = String.Format(@"{0}\{1}.exe",
System.Environment.CurrentDirectory,
sourceFile.Name.Replace(".", "_"));
CompilerParameters cp = new CompilerParameters();
// Generate an executable instead of
// a class library.
cp.GenerateExecutable = true;
// Specify the assembly file name to generate.
cp.OutputAssembly = exeName;
// Save the assembly as a physical file.
cp.GenerateInMemory = false;
// Set whether to treat all warnings as errors.
cp.TreatWarningsAsErrors = false;
// Invoke compilation of the source file.
CompilerResults cr = provider.CompileAssemblyFromFile(cp,
sourceName);
if(cr.Errors.Count > 0)
{
// Display compilation errors.
Console.WriteLine("Errors building {0} into {1}",
sourceName, cr.PathToAssembly);
foreach(CompilerError ce in cr.Errors)
{
Console.WriteLine(" {0}", ce.ToString());
Console.WriteLine();
}
}
else
{
// Display a successful compilation message.
Console.WriteLine("Source {0} built into {1} successfully.",
sourceName, cr.PathToAssembly);
}
// Return the results of the compilation.
if (cr.Errors.Count > 0)
{
compileOk = false;
}
else
{
compileOk = true;
}
}
return compileOk;
}
Public Shared Function CompileExecutable(sourceName As String) As Boolean
Dim sourceFile As FileInfo = New FileInfo(sourceName)
Dim provider As CodeDomProvider = Nothing
Dim compileOk As Boolean = False
' Select the code provider based on the input file extension.
If sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) = ".CS"
provider = CodeDomProvider.CreateProvider("CSharp")
ElseIf sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) = ".VB"
provider = CodeDomProvider.CreateProvider("VisualBasic")
Else
Console.WriteLine("Source file must have a .cs or .vb extension")
End If
If Not provider Is Nothing
' Format the executable file name.
' Build the output assembly path using the current directory
' and <source>_cs.exe or <source>_vb.exe.
Dim exeName As String = String.Format("{0}\{1}.exe", _
System.Environment.CurrentDirectory, _
sourceFile.Name.Replace(".", "_"))
Dim cp As CompilerParameters = new CompilerParameters()
' Generate an executable instead of
' a class library.
cp.GenerateExecutable = True
' Specify the assembly file name to generate.
cp.OutputAssembly = exeName
' Save the assembly as a physical file.
cp.GenerateInMemory = False
' Set whether to treat all warnings as errors.
cp.TreatWarningsAsErrors = False
' Invoke compilation of the source file.
Dim cr As CompilerResults = provider.CompileAssemblyFromFile(cp, _
sourceName)
If cr.Errors.Count > 0
' Display compilation errors.
Console.WriteLine("Errors building {0} into {1}", _
sourceName, cr.PathToAssembly)
Dim ce As CompilerError
For Each ce In cr.Errors
Console.WriteLine(" {0}", ce.ToString())
Console.WriteLine()
Next ce
Else
' Display a successful compilation message.
Console.WriteLine("Source {0} built into {1} successfully.", _
sourceName, cr.PathToAssembly)
End If
' Return the results of the compilation.
If cr.Errors.Count > 0
compileOk = False
Else
compileOk = True
End If
End If
return compileOk
End Function
설명
이 클래스는 Visual Basic ICodeGenerator 및 ICodeCompiler 구현의 인스턴스를 검색하는 데 사용할 수 있는 메서드를 제공합니다.
참고
이 클래스에는 모든 멤버에 적용되는 클래스 수준에서 링크 요청 및 상속 요청이 포함됩니다. 직접 SecurityException 호출자 또는 파생 클래스에 완전 신뢰 권한이 없는 경우 이 throw됩니다.
생성자
VBCodeProvider() |
VBCodeProvider 클래스의 새 인스턴스를 초기화합니다. |
VBCodeProvider(IDictionary<String,String>) |
지정된 공급자 옵션을 사용하여 VBCodeProvider 클래스의 새 인스턴스를 초기화합니다. |
속성
CanRaiseEvents |
구성 요소가 이벤트를 발생시킬 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
Container |
IContainer을 포함하는 Component를 가져옵니다. (다음에서 상속됨 Component) |
DesignMode |
Component가 현재 디자인 모드인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Component) |
Events |
이 Component에 연결된 이벤트 처리기의 목록을 가져옵니다. (다음에서 상속됨 Component) |
FileExtension |
소스 코드 파일을 만들 때 사용할 확장명을 가져옵니다. |
LanguageOptions |
언어 기능 식별자를 가져옵니다. |
Site |
Component의 ISite를 가져오거나 설정합니다. (다음에서 상속됨 Component) |
메서드
CompileAssemblyFromDom(CompilerParameters, CodeCompileUnit[]) |
지정된 컴파일러 설정을 사용하여 System.CodeDom 개체의 지정된 배열에 포함된 CodeCompileUnit 트리에 따라 어셈블리를 컴파일합니다. (다음에서 상속됨 CodeDomProvider) |
CompileAssemblyFromFile(CompilerParameters, String[]) |
지정된 컴파일러 설정을 사용하여 지정된 파일에 포함된 소스 코드에서 어셈블리를 컴파일합니다. (다음에서 상속됨 CodeDomProvider) |
CompileAssemblyFromSource(CompilerParameters, String[]) |
지정된 컴파일러 설정을 사용하여 소스 코드가 포함된 지정된 문자열 배열에서 어셈블리를 컴파일합니다. (다음에서 상속됨 CodeDomProvider) |
CreateCompiler() |
사용되지 않음.
사용되지 않음.
Visual Basic 코드 컴파일러의 인스턴스를 가져옵니다. |
CreateEscapedIdentifier(String) |
지정된 값의 이스케이프된 식별자를 만듭니다. (다음에서 상속됨 CodeDomProvider) |
CreateGenerator() |
사용되지 않음.
사용되지 않음.
Visual Basic 코드 생성기 인스턴스를 가져옵니다. |
CreateGenerator(String) |
파생 클래스에서 재정의될 때 지정된 파일 이름을 출력으로 사용하여 새 코드 생성기를 만듭니다. (다음에서 상속됨 CodeDomProvider) |
CreateGenerator(TextWriter) |
파생 클래스에서 재정의될 때 지정된 TextWriter를 출력에 사용하여 새 코드 생성기를 만듭니다. (다음에서 상속됨 CodeDomProvider) |
CreateObjRef(Type) |
원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
CreateParser() |
사용되지 않음.
사용되지 않음.
파생 클래스에서 재정의될 때 새 코드 파서를 만듭니다. (다음에서 상속됨 CodeDomProvider) |
CreateValidIdentifier(String) |
지정된 값의 유효한 식별자를 만듭니다. (다음에서 상속됨 CodeDomProvider) |
Dispose() |
Component에서 사용하는 모든 리소스를 해제합니다. (다음에서 상속됨 Component) |
Dispose(Boolean) |
Component에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다. (다음에서 상속됨 Component) |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GenerateCodeFromCompileUnit(CodeCompileUnit, TextWriter, CodeGeneratorOptions) |
지정된 CodeDOM(코드 문서 개체 모델) 컴파일 단위에 대한 코드를 생성한 다음 지정된 옵션을 사용하여 지정된 텍스트 작성기에 해당 코드를 보냅니다. (다음에서 상속됨 CodeDomProvider) |
GenerateCodeFromExpression(CodeExpression, TextWriter, CodeGeneratorOptions) |
지정된 CodeDOM(코드 문서 개체 모델) 식에 대한 코드를 생성한 다음 지정된 옵션을 사용하여 지정된 텍스트 작성기에 해당 코드를 보냅니다. (다음에서 상속됨 CodeDomProvider) |
GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions) |
지정된 텍스트 작성기와 코드 생성기 옵션을 사용하여 지정된 클래스 멤버에 대한 코드를 생성합니다. |
GenerateCodeFromMember(CodeTypeMember, TextWriter, CodeGeneratorOptions) |
지정된 CodeDOM(코드 문서 개체 모델) 멤버 선언에 대한 코드를 생성한 다음 지정된 옵션을 사용하여 지정된 텍스트 작성기에 해당 코드를 보냅니다. (다음에서 상속됨 CodeDomProvider) |
GenerateCodeFromNamespace(CodeNamespace, TextWriter, CodeGeneratorOptions) |
지정된 CodeDOM(코드 문서 개체 모델) 네임스페이스에 대한 코드를 생성한 다음 지정된 옵션을 사용하여 지정된 텍스트 작성기에 해당 코드를 보냅니다. (다음에서 상속됨 CodeDomProvider) |
GenerateCodeFromStatement(CodeStatement, TextWriter, CodeGeneratorOptions) |
지정된 CodeDOM(코드 문서 개체 모델) 문에 대한 코드를 생성한 다음 지정된 옵션을 사용하여 지정된 텍스트 작성기에 해당 코드를 보냅니다. (다음에서 상속됨 CodeDomProvider) |
GenerateCodeFromType(CodeTypeDeclaration, TextWriter, CodeGeneratorOptions) |
지정된 CodeDOM(코드 문서 개체 모델) 형식 선언에 대한 코드를 생성한 다음 지정된 옵션을 사용하여 지정된 텍스트 작성기에 해당 코드를 보냅니다. (다음에서 상속됨 CodeDomProvider) |
GetConverter(Type) |
지정된 개체 형식에 대한 TypeConverter를 가져옵니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (다음에서 상속됨 MarshalByRefObject) |
GetService(Type) |
Component 또는 해당 Container에서 제공하는 서비스를 나타내는 개체를 반환합니다. (다음에서 상속됨 Component) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
GetTypeOutput(CodeTypeReference) |
지정된 CodeTypeReference에서 나타내는 형식을 가져옵니다. (다음에서 상속됨 CodeDomProvider) |
InitializeLifetimeService() |
사용되지 않음.
이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다. (다음에서 상속됨 MarshalByRefObject) |
IsValidIdentifier(String) |
지정된 값이 현재 언어에 유효한 식별자인지 여부를 나타내는 값을 반환합니다. (다음에서 상속됨 CodeDomProvider) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
MemberwiseClone(Boolean) |
현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
Parse(TextReader) |
지정된 텍스트 스트림에서 읽은 코드를 CodeCompileUnit으로 컴파일합니다. (다음에서 상속됨 CodeDomProvider) |
Supports(GeneratorSupport) |
지정된 코드 생성이 지원되는지 여부를 나타내는 값을 반환합니다. (다음에서 상속됨 CodeDomProvider) |
ToString() |
Component의 이름이 포함된 String을 반환합니다(있는 경우). 이 메서드는 재정의할 수 없습니다. (다음에서 상속됨 Component) |
이벤트
Disposed |
Dispose() 메서드를 호출하여 구성 요소를 삭제할 때 발생합니다. (다음에서 상속됨 Component) |
적용 대상
추가 정보
.NET