我是PowerShell的新手。我试图调用自定义C#dll的方法。我因多种原因失败了。
这是我的代码:
[System.Reflection.assembly]::LoadFile("E:\Mulukutla\Migration.dll")
$MyClass = New-Object DataMigration
$MyClass.MigrateData("$from\$name","$to\$name")
异常调用" LoadFile"用" 1"参数:"此程序集由比当前加载的运行时更新的运行时构建,无法加载。 (HRESULT异常:0x8013101B)" 在E:\ Mulukutla \ myCodev1.ps1:3 char:39 + [System.Reflection.assembly] :: LoadFile<<<< (" E:\ Mulukutla \ Migration.dll&#34) + CategoryInfo:NotSpecified:(:) [],MethodInvocationException + FullyQualifiedErrorId:DotNetMethodException
New-Object:找不到类型[DataMigration]:确保加载了包含此类型的程序集。 在E:\ mulukutla \ myCodev1.ps1:4 char:21 + $ MyClass = New-Object<<<<数据迁移 + CategoryInfo:InvalidType :( :) [New-Object],PSArgumentException
请帮我纠正,我在做什么错误?
答案 0 :(得分:2)
从cmd调用powershell:
set COMPLUS_Version=v4.0.30319
powershell
或设置'C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe.config'的内容如下(如果不存在,您可能需要创建此文件):
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
</startup>
</configuration>