Add-Type
PowerShell 세션에 Microsoft .NET 클래스를 추가합니다.
구문
Add-Type
[-CodeDomProvider <CodeDomProvider>]
[-CompilerParameters <CompilerParameters>]
[-TypeDefinition] <String>
[-Language <Language>]
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
Add-Type
[-CodeDomProvider <CodeDomProvider>]
[-CompilerParameters <CompilerParameters>]
[-Name] <String>
[-MemberDefinition] <String[]>
[-Namespace <String>]
[-UsingNamespace <String[]>]
[-Language <Language>]
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
Add-Type
[-CompilerParameters <CompilerParameters>]
[-Path] <String[]>
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
Add-Type
[-CompilerParameters <CompilerParameters>]
-LiteralPath <String[]>
[-ReferencedAssemblies <String[]>]
[-OutputAssembly <String>]
[-OutputType <OutputAssemblyType>]
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
Add-Type
-AssemblyName <String[]>
[-PassThru]
[-IgnoreWarnings]
[<CommonParameters>]
Description
cmdlet Add-Type
을 사용하면 PowerShell 세션에서 Microsoft .NET Framework 클래스를 정의할 수 있습니다.
그런 다음 cmdlet을 사용하여 개체를 New-Object
인스턴스화하고 .NET Framework 개체를 사용하는 것처럼 개체를 사용할 수 있습니다. PowerShell 프로필에 Add-Type
명령을 추가하면 모든 PowerShell 세션에서 클래스를 사용할 수 있습니다.
기존 어셈블리 또는 소스 코드 파일을 지정하여 형식을 지정하거나 소스 코드를 인라인으로 지정하거나 변수에 저장할 수 있습니다. 메서드만 지정할 수 있으며 Add-Type
클래스를 정의하고 생성합니다. Windows에서는 이 기능을 사용하여 PowerShell에서 관리되지 않는 함수에 대한 플랫폼 호출(P/Invoke) 호출을 수행할 수 있습니다. 소스 코드를 Add-Type
지정하는 경우 지정된 소스 코드를 컴파일하고 새 .NET Framework 형식을 포함하는 메모리 내 어셈블리를 생성합니다.
매개 변수 Add-Type
를 사용하여 대체 언어 및 컴파일러를 지정할 수 있습니다. C#은 기본, 컴파일러 옵션, 어셈블리 종속성, 클래스 네임스페이스, 형식의 이름 및 결과 어셈블리입니다.
예제
예제 1: 세션에 .NET 형식 추가
다음은 변수에 저장된 소스 코드를 지정하여 BasicTest 클래스를 세션에 추가하는 예제입니다. BasicTest 클래스는 정수를 추가하고, 개체를 만들고, 정수를 곱하는 데 사용됩니다.
$Source = @"
public class BasicTest
{
public static int Add(int a, int b)
{
return (a + b);
}
public int Multiply(int a, int b)
{
return (a * b);
}
}
"@
Add-Type -TypeDefinition $Source
[BasicTest]::Add(4, 3)
$BasicTestObject = New-Object BasicTest
$BasicTestObject.Multiply(5, 2)
변수는 $Source
클래스의 소스 코드를 저장합니다. 형식에는 호출 Add
된 정적 메서드와 비정적 메서드가 있습니다 Multiply
.
cmdlet은 Add-Type
세션에 클래스를 추가합니다. 이 명령은 인라인 소스 코드를 사용하므로 TypeDefinition 매개 변수를 사용하여 변수의 $Source
코드를 지정합니다.
BasicTest 클래스의 정적 메서드는 Add
이중 콜론 문자(::
)를 사용하여 클래스의 정적 멤버를 지정합니다. 정수가 추가되고 합계가 표시됩니다.
cmdlet은 New-Object
BasicTest 클래스의 인스턴스를 인스턴스화합니다. 새 개체를 변수에 $BasicTestObject
저장합니다.
$BasicTestObject
는 메서드를 Multiply
사용합니다. 정수가 곱하고 제품이 표시됩니다.
예제 2: 추가된 형식 검사
이 예제에서는 cmdlet을 Get-Member
사용하여 예제 1에서 만든 개체 Add-Type
와 New-Object
cmdlet을 검사합니다.
[BasicTest] | Get-Member
TypeName: System.RuntimeType
Name MemberType Definition
---- ---------- ----------
AsType Method type AsType()
Clone Method System.Object Clone(), System.Object ICloneable.Clone()
Equals Method bool Equals(System.Object obj), bool Equals(type o)
FindInterfaces Method type[] FindInterfaces(System.Reflection.TypeFilter filter...
...
[BasicTest] | Get-Member -Static
TypeName: BasicTest
Name MemberType Definition
---- ---------- ----------
Add Method static int Add(int a, int b)
Equals Method static bool Equals(System.Object objA, System.Object objB)
new Method BasicTest new()
ReferenceEquals Method static bool ReferenceEquals(System.Object objA, System.Object objB)
$BasicTestObject | Get-Member
TypeName: BasicTest
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
Multiply Method int Multiply(int a, int b)
ToString Method string ToString()
cmdlet은 Get-Member
세션에 추가된 BasicTest 클래스 Add-Type
의 형식과 멤버를 가져옵니다. 이 Get-Member
명령은 System.Object 클래스에서 파생된 System.RuntimeType 개체임을 표시합니다.
Static 매개 변수는 Get-Member
BasicTest 클래스의 정적 속성 및 메서드를 가져옵니다. 출력은 메서드가 Add
포함되어 있음을 보여줍니다.
cmdlet은 Get-Member
변수에 저장된 개체의 멤버를 $BasicTestObject
가져옵니다.
$BasicTestObject
는 BasicTest 클래스와 New-Object
함께 cmdlet을 사용하여 생성되었습니다. 출력은 변수 값 $BasicTestObject
이 BasicTest 클래스의 인스턴스이며 이 클래스에 호출Multiply
된 멤버가 포함되어 있음을 나타냅니다.
예제 3: 어셈블리에서 형식 추가
다음은 어셈블리의 클래스를 Accessibility.dll
현재 세션에 추가하는 예제입니다.
$AccType = Add-Type -AssemblyName "accessib*" -PassThru
변수는 $AccType
cmdlet을 사용하여 만든 개체를 Add-Type
저장합니다. Add-Type
는 AssemblyName 매개 변수를 사용하여 어셈블리의 이름을 지정합니다. 별표(*
) 와일드카드 문자를 사용하면 이름이나 철자를 잘 모르는 경우에도 올바른 어셈블리를 가져올 수 있습니다. PassThru 매개 변수는 세션에 추가되는 클래스를 나타내는 개체를 생성합니다.
예제 4: 네이티브 Windows API 호출
이 예제에서는 PowerShell에서 네이티브 Windows API를 호출하는 방법을 보여 줍니다. Add-Type
는 P/Invoke(Platform Invoke) 메커니즘을 사용하여 PowerShell에서 함수를 User32.dll
호출합니다. 이 예제는 Windows 운영 체제를 실행하는 컴퓨터에서만 작동합니다.
$Signature = @"
[DllImport("user32.dll")]public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
"@
$addTypeSplat = @{
MemberDefinition = $Signature
Name = "Win32ShowWindowAsync"
Namespace = 'Win32Functions'
PassThru = $true
}
$ShowWindowAsync = Add-Type @addTypeSplat
# Minimize the PowerShell console
$ShowWindowAsync::ShowWindowAsync((Get-Process -Id $pid).MainWindowHandle, 2)
# Restore the PowerShell console
$ShowWindowAsync::ShowWindowAsync((Get-Process -Id $Pid).MainWindowHandle, 4)
변수는 $Signature
함수의 C# 서명을 저장합니다 ShowWindowAsync
. 결과 메서드가 PowerShell 세션에 표시되도록 하기 위해 키워드가 public
표준 서명에 추가되었습니다. 자세한 내용은 ShowWindowAsync 함수를 참조하세요.
변수는 $ShowWindowAsync
PassThru 매개 변수로 만든 개체를 Add-Type
저장합니다.
cmdlet은 Add-Type
함수를 ShowWindowAsync
PowerShell 세션에 정적 메서드로 추가합니다. 이 명령은 MemberDefinition 매개 변수를 사용하여 변수에 $Signature
저장된 메서드 정의를 지정합니다. 이 명령은 Name 및 Namespace 매개 변수를 사용하여 클래스의 이름 및 네임스페이스를 지정합니다. PassThru 매개 변수는 형식을 나타내는 개체를 생성합니다.
새 ShowWindowAsync
정적 메서드는 PowerShell 콘솔을 최소화하고 복원하는 명령에 사용됩니다. 이 메서드는 창 핸들과 창 표시 방법을 지정하는 정수라는 두 개의 매개 변수를 사용합니다.
PowerShell 콘솔 ShowWindowAsync
을 최소화하려면 자동 변수와 함께 $PID
cmdlet을 사용하여 Get-Process
현재 PowerShell 세션을 호스팅하는 프로세스를 가져옵니다. 그런 다음 현재 프로세스의 MainWindowHandle 속성과 값을 나타내는 SW_MINIMIZE
값을 2
사용합니다.
창을 ShowWindowAsync
복원하려면 값을 나타내는 SW_RESTORE
창 위치에 대한 값을 4
사용합니다.
창을 최대화하려면 해당 SW_MAXIMIZE
값을 3
사용합니다.
예제 5: Visual Basic 파일에서 형식 추가
이 예제에서는 cmdlet을 Add-Type
사용하여 파일에 정의된 VBFromFile 클래스를 Hello.vb
현재 세션에 추가합니다. 파일의 Hello.vb
텍스트는 명령 출력에 표시됩니다.
Add-Type -Path "C:\PS-Test\Hello.vb"
[VBFromFile]::SayHello(", World")
# From Hello.vb
Public Class VBFromFile
Public Shared Function SayHello(sourceName As String) As String
Dim myValue As String = "Hello"
return myValue + sourceName
End Function
End Class
Hello, World
Add-Type
에서는 Path 매개 변수를 사용하여 원본 파일을 지정하고 파일에 Hello.vb
정의된 형식을 추가합니다. 이 SayHello
함수는 VBFromFile 클래스의 정적 메서드로 호출됩니다.
예제 6: JScript.NET 사용하여 클래스 추가
이 예제에서는 JScript.NET 사용하여 PowerShell 세션에서 새 클래스 FRectangle을 만듭니다.
Add-Type @'
class FRectangle {
var Length : double;
var Height : double;
function Perimeter() : double {
return (Length + Height) * 2; }
function Area() : double {
return Length * Height; } }
'@ -Language JScript
$rect = [FRectangle]::new()
$rect
Length Height
------ ------
0 0
예제 7: F# 컴파일러 추가
이 예제에서는 cmdlet을 Add-Type
사용하여 PowerShell 세션에 F# 코드 컴파일러를 추가하는 방법을 보여 줍니다. PowerShell에서 이 예제를 실행하려면 F# 언어로 설치된 예제가 있어야 합니다 FSharp.Compiler.CodeDom.dll
.
Add-Type -Path "FSharp.Compiler.CodeDom.dll"
$Provider = New-Object Microsoft.FSharp.Compiler.CodeDom.FSharpCodeProvider
$FSharpCode = @"
let rec loop n =if n <= 0 then () else beginprint_endline (string_of_int n);loop (n-1)end
"@
$FSharpType = Add-Type -TypeDefinition $FSharpCode -CodeDomProvider $Provider -PassThru |
Where-Object { $_.IsPublic }
$FSharpType::loop(4)
4
3
2
1
Add-Type
에서는 Path 매개 변수를 사용하여 어셈블리를 지정하고 어셈블리의 형식을 가져옵니다.
New-Object
는 F# 코드 공급자의 인스턴스를 만들고 결과를 변수에 $Provider
저장합니다. 변수는 $FSharpCode
루프 메서드를 정의하는 F# 코드를 저장합니다.
변수는 $FSharpType
에 정의된 $FSharpCode
공용 형식을 Add-Type
저장하는 cmdlet의 결과를 저장합니다. TypeDefinition 매개 변수는 형식을 정의하는 소스 코드를 지정합니다. CodeDomProvider 매개 변수는 소스 코드 컴파일러를 지정합니다. PassThru 매개 변수는 형식을 Add-Type
나타내는 런타임 개체를 반환하도록 지시합니다.
개체는 파이프라인 아래로 cmdlet으로 Where-Object
전송되며, 이 cmdlet은 공용 형식만 반환합니다. Where-Object
이 cmdlet은 F# 공급자가 공용이 아닌 형식을 생성하여 결과 공용 형식을 지원하기 때문에 사용됩니다.
루프 메서드는 변수에 저장된 형식의 정적 메서드로 호출됩니다 $FSharpType
.
매개 변수
-AssemblyName
해당 유형을 포함하는 어셈블리 이름을 지정합니다. Add-Type
는 지정된 어셈블리에서 형식을 가져옵니다. 이 매개 변수는 어셈블리 이름을 기반으로 형식을 만들 때 필요합니다.
어셈블리의 전체 또는 단순 이름(부분 이름이라고도 함)을 입력합니다. 와일드카드 문자는 어셈블리 이름에 허용됩니다. 단순 또는 부분 이름을 입력하는 경우 전체 이름으로 Add-Type
확인한 다음 전체 이름을 사용하여 어셈블리를 로드합니다.
Path 또는 LiteralPath 매개 변수를 사용하면 로드하려는 어셈블리를 로드할 수 있습니다. AssemblyName 매개 변수를 사용하는 경우 PowerShell은 .NET에 표준 .NET 어셈블리 확인 프로세스를 사용하여 어셈블리 이름을 확인하도록 요청합니다. .NET은 애플리케이션 폴더를 먼저 Add-Type
검색하므로 현재 폴더의 버전 대신 어셈블리 $PSHOME
를 로드할 수 있습니다. 자세한 내용은 어셈블리 위치를 참조 하세요.
.NET에서 이름을 확인하지 못하면 PowerShell은 현재 위치를 찾아 어셈블리를 찾습니다. AssemblyName 매개 변수에서 와일드카드를 사용하는 경우 .NET 어셈블리 확인 프로세스가 실패하여 PowerShell이 현재 위치를 찾습니다.
형식: | String[] |
별칭: | AN |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | True |
-CodeDomProvider
코드 생성기 또는 컴파일러를 지정합니다. Add-Type
는 지정된 컴파일러를 사용하여 소스 코드를 컴파일합니다. 기본값은 C# 컴파일러입니다. Language 매개 변수를 사용하여 지정할 수 없는 언어를 사용하는 경우 이 매개 변수를 사용합니다. 지정하는 CodeDomProvider는 소스 코드에서 어셈블리를 생성할 수 있어야 합니다.
형식: | CodeDomProvider |
별칭: | Provider |
Position: | Named |
Default value: | C# compiler |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-CompilerParameters
소스 코드 컴파일러에 대한 옵션을 지정합니다. 이러한 옵션은 수정 없이 컴파일러로 전송됩니다.
이 매개 변수를 사용하면 컴파일러가 실행 파일을 생성하거나, 리소스를 포함하거나, 옵션과 같은 /unsafe
명령줄 옵션을 설정하도록 지시할 수 있습니다. 이 매개 변수는 CompilerParameters 클래스 System.CodeDom.Compiler.CompilerParameters 를 구현합니다.
동일한 명령에서는 CompilerParameters 및 ReferencedAssemblies 매개 변수를 사용할 수 없습니다.
형식: | CompilerParameters |
별칭: | CP |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-IgnoreWarnings
컴파일러 경고를 무시합니다. 컴파일러 경고를 오류로 처리하지 않도록 Add-Type
하려면 이 매개 변수를 사용합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Language
소스 코드에 사용되는 언어를 지정합니다. cmdlet은 Add-Type
이 매개 변수의 값을 사용하여 적절한 CodeDomProvider를 선택합니다. CSharp가 기본값입니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
CSharp
CSharpVersion2
CSharpVersion3
JScript
VisualBasic
형식: | Language |
허용되는 값: | CSharp, CSharpVersion2, CSharpVersion3, JScript, VisualBasic |
Position: | Named |
Default value: | CSharp |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-LiteralPath
형식을 포함하는 소스 코드 파일 또는 어셈블리 DLL 파일의 경로를 지정합니다. Path와 달리 LiteralPath 매개 변수의 값은 입력된 대로 정확하게 사용됩니다. 와일드카드로 해석되는 문자는 없습니다. 경로에 이스케이프 문자가 포함된 경우 작은따옴표로 묶습니다. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.
Path 또는 LiteralPath 매개 변수를 사용하면 로드하려는 어셈블리를 로드할 수 있습니다.
형식: | String[] |
별칭: | PSPath |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-MemberDefinition
클래스에 대한 새 속성 또는 메서드를 지정합니다. Add-Type
는 속성 또는 메서드를 지원하는 데 필요한 템플릿 코드를 생성합니다.
Windows에서는 이 기능을 사용하여 PowerShell에서 관리되지 않는 함수에 대한 플랫폼 호출(P/Invoke) 호출을 수행할 수 있습니다.
형식: | String[] |
Position: | 1 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Name
만들 클래스의 이름을 지정합니다. 멤버 정의에서 유형을 생성하는 경우 이 매개 변수는 필수입니다.
유형 이름 및 네임스페이스는 세션 내부에서 고유해야 합니다. 형식을 언로드하거나 변경할 수 없습니다. 형식의 코드를 변경하려면 이름을 변경하거나 새 PowerShell 세션을 시작해야 합니다. 그렇지 않으면 명령이 실패합니다.
형식: | String |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Namespace
형식의 네임스페이스를 지정합니다.
이 매개 변수가 명령에 포함되지 않은 경우 형식은 Microsoft.PowerShell.Commands.AddType.AutoGeneratedTypes 네임스페이스에 만들어집니다. 매개 변수가 빈 문자열 값 또는 값 $Null
이 있는 명령에 포함된 경우 형식은 전역 네임스페이스에 생성됩니다.
형식: | String |
별칭: | NS |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-OutputAssembly
위치에 지정된 이름을 사용하여 어셈블리에 대한 DLL 파일을 생성합니다. 선택적 경로 및 파일 이름을 입력합니다. 와일드카드 문자를 사용할 수 있습니다. 기본적으로 Add-Type
메모리에만 어셈블리를 생성합니다.
형식: | String |
별칭: | OA |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | True |
-OutputType
출력 어셈블리의 출력 형식을 지정합니다. 기본적으로 출력 형식은 지정되지 않습니다. 이 매개 변수는 명령에서 출력 어셈블리를 지정한 경우에만 사용할 수 있습니다. 값에 대한 자세한 내용은 OutputAssemblyType 열거형을 참조 하세요.
이 매개 변수에 허용되는 값은 다음과 같습니다.
ConsoleApplication
Library
WindowsApplication
형식: | OutputAssemblyType |
별칭: | OT |
허용되는 값: | ConsoleApplication, Library, WindowsApplication |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-PassThru
추가된 형식을 나타내는 System.Runtime 개체를 반환합니다. 기본적으로 이 cmdlet은 출력을 생성하지 않습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Path
형식을 포함하는 소스 코드 파일 또는 어셈블리 DLL 파일의 경로를 지정합니다.
소스 코드 파일을 제출하는 경우 파일 Add-Type
의 코드를 컴파일하고 형식의 메모리 내 어셈블리를 만듭니다. 경로 값에 지정된 파일 확장명은 사용하는 컴파일러 Add-Type
를 결정합니다.
어셈블리 파일을 Add-Type
제출하는 경우 어셈블리에서 형식을 가져옵니다. 메모리 내 어셈블리 또는 전역 어셈블리 캐시를 지정하려면 AssemblyName 매개 변수를 사용합니다.
형식: | String[] |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-ReferencedAssemblies
형식이 의존하는 어셈블리를 지정합니다. 기본적으로 Add-Type
참조 및 System.Management.Automation.dll
.System.dll
이 매개 변수를 사용하여 지정하는 어셈블리는 기본 어셈블리에 추가하여 참조됩니다.
동일한 명령에서는 CompilerParameters 및 ReferencedAssemblies 매개 변수를 사용할 수 없습니다.
형식: | String[] |
별칭: | RA |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-TypeDefinition
형식 정의를 포함하는 소스 코드를 지정합니다. 문자열 또는 여기 문자열에 소스 코드를 입력하거나 소스 코드가 포함된 변수를 입력합니다. 여기 문자열에 대한 자세한 내용은 about_Quoting_Rules 참조하세요.
형식 정의에 네임스페이스 선언을 포함합니다. 네임스페이스 선언을 생략하면 형식의 이름이 다른 형식이나 다른 형식의 바로 가기와 같아 의도하지 않은 덮어쓰기가 발생할 수 있습니다. 예를 들어 예외라는 형식을 정의하는 경우 System.Exception의 바로 가기로 예외를 사용하는 스크립트는 실패합니다.
형식: | String |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-UsingNamespace
클래스에 필요한 다른 네임스페이스를 지정합니다. C# 키워드 Using
와 비슷합니다.
기본적으로 Add-Type
시스템 네임스페이스를 참조합니다. MemberDefinition 매개 변수를 사용하는 Add-Type
경우 기본적으로 System.Runtime.InteropServices 네임스페이스도 참조합니다. UsingNamespace 매개 변수를 사용하여 추가하는 네임스페이스는 기본 네임스페이스 외에도 참조됩니다.
형식: | String[] |
별칭: | Using |
Position: | Named |
Default value: | System namespace |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
개체를 이 cmdlet으로 파이프할 수 없습니다.
출력
None
기본적으로 이 cmdlet은 출력을 반환하지 않습니다.
PassThru 매개 변수를 사용하는 경우 이 cmdlet은 새 형식을 나타내는 System.Type 개체를 반환합니다.
참고
추가하는 형식은 현재 세션에만 존재합니다. 모든 세션에서 형식을 사용하려면 PowerShell 프로필에 추가합니다. 프로필에 대한 자세한 내용은 about_Profiles 참조하세요.
형식 이름 및 네임스페이스는 세션 내에서 고유해야 합니다. 형식을 언로드하거나 변경할 수 없습니다. 형식의 코드를 변경해야 하는 경우 이름을 변경하거나 새 PowerShell 세션을 시작해야 합니다. 그렇지 않으면 명령이 실패합니다.
IronPython 및 J#과 같은 일부 언어에 대한 CodeDomProvider 클래스는 출력을 생성하지 않습니다. 따라서 이러한 언어로 작성된 형식은 .와 함께 Add-Type
사용할 수 없습니다.
이 cmdlet은 Microsoft .NET Framework CodeDomProvider 클래스를 기반으로 합니다.
관련 링크
PowerShell