相关疑难解决方法(0)

如何使用PowerShell添加类型来使用添加的类型

我正在开发一个生成CSharp代码的PoSh项目,然后将Add-Type其放入内存中.

新类型使用磁盘DLL中的现有类型,该DLL通过Add-Type加载.

一切都很好,直到我实际上尝试调用新类型的方法.这是我正在做的一个例子:

$PWD = "."
rm -Force $PWD\TestClassOne*
$code = "
namespace TEST{
public class TestClassOne
{
    public int DoNothing()
    {
        return 1;
    }
}
}"
$code | Out-File tcone.cs
Add-Type -OutputAssembly $PWD\TestClassOne.dll -OutputType Library -Path $PWD\tcone.cs
Add-Type -Path $PWD\TestClassOne.dll
$a = New-Object TEST.TestClassOne
"Using TestClassOne"
$a.DoNothing()


"Compiling TestClassTwo"
Add-Type -Language CSharpVersion3 -TypeDefinition "
namespace TEST{
public class TestClassTwo
{
    public int CallTestClassOne()
    {
        var a = new TEST.TestClassOne();
        return a.DoNothing();
    }
}
}" -ReferencedAssemblies $PWD\TestClassOne.dll
"OK" …
Run Code Online (Sandbox Code Playgroud)

powershell code-generation powershell-2.0

4
推荐指数
1
解决办法
6088
查看次数