我正在尝试使用一个非常简单的脚本在PowerShell中工作,它会不断弹出以下错误:
Add-Type : Cannot add type. Definition of new types is not supported in this language mode.
At C:\Users\jdkin_000.ATHENA\cs_init.ps1:16 char:1
+ Add-Type -TypeDefinition $Source -Language CSharp
这是脚本:
$Source = @"
using System;
namespace cs1
{
public class Program
{
public static void Main()
{
Console.WriteLine("Hello world!");
}
}
}
"@
Add-Type -TypeDefinition $Source -Language CSharp
有关如何让此脚本在返回错误的确切设备上工作的任何建议。脚本和类似的脚本可以在其他机器上运行,但是当脚本包含C#时,这台机器并不想公平。
答案 0 :(得分:1)
尝试运行:
$ExecutionContext.SessionState.LanguageMode
以下是解释LanguageMode的链接。我假设您处于限制定义新类型的能力的模式。
https://technet.microsoft.com/en-us/library/dn433292.aspx
编辑:基于Windows RT 8.1操作系统,( Windows RT Powershell (PermissionDenied) on New-Object) 它似乎无法完成。
答案 1 :(得分:0)
当系统驱动器上没有可用空间时,Powershell也可能会切换到ConstrainedLanguage模式。