【发布时间】:2017-12-08 00:47:40
【问题描述】:
以下 C# sn-p 嵌入在 powershell (.ps1) 文件中并生成 System.Management.Automation.RuntimeException。删除“string s”,异常就消失了。尝试使用大写“String”并尝试添加命名空间“System.String”和其他各种方法,但仍然出现异常。这让我发疯了,请帮助我理解为什么会这样。
$code = @"
public static class foo
{
public static bool check()
{
string s;
return false;
}
}
代码是这样调用的;
try
{
Add-Type -TypeDefinition $code -Language CSharp
}
catch{} // ignore TYPE_ALREADY_EXISTS exception
$res = [foo]::check();
这里是异常详情;
Exception: System.Management.Automation.RuntimeException: unable to find type [foo].
TargetObject: foo
CategoryInfo: InvalidOperation (foo:Typename) [], RuntimeException
FullyQualifiedErrorId: TypeNotFound
InvocationInfo: System.Management.Automation.InvocationInfo
【问题讨论】:
-
请发布足够的代码,以便我们至少可以重现该问题。定义字符串值
$code显然不会自己编译你的类
标签: c# powershell powershell-4.0