在Powershell中加载C#汇编System.Web.Extension for System.Web.Script

本文关键字:System Web Extension for Script 汇编 Powershell 加载 | 更新日期: 2023-09-27 18:34:25

我很难让Powershell使用System.Web.Script.Serialization运行我的C#代码。 我收到错误"命名空间'System.Web'中不存在类型或命名空间名称'脚本'(您是否缺少程序集引用? 我已经将Powershell设置为使用.Net 4。 我唯一能想到导致此问题的是它正在加载客户端配置文件而不是完整的 .Net 4 配置文件,但我也不是很精通 Powershell 或 C#。

这是我正在使用的Powershell脚本,由于长度原因,我省略了C#代码。

$Assemblies = (
        "System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
        "System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a",
        "System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a",
        "System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    )
$Source = @"
using System;
using System.Net;
using System.IO;
using System.Text;
using System.Web;
using System.Collections.Generic;
using System.Web.Script.Serialization;
using System.Threading;
class DataMineAPI
{
   ''''omitted 
}
class getUpsightData 
{
   ''''omitted
}
"@
Add-Type -ReferencedAssemblies $Assem -TypeDefinition $Source -Language CSharp 
New-Object DataMineAutomation.getUpsightData -Property @{
        queryFolder = "Path1";
        authFile = "File";
        downloadFolder = "Path2";
        logFolder = "Path3";
    }

谁能帮我解决这个问题? 谢谢!

在Powershell中加载C#汇编System.Web.Extension for System.Web.Script

在我看来

,似乎有一个错字,$Assem而不是$Assemblies.尝试使用:

Add-Type -ReferencedAssemblies $Assemblies -TypeDefinition $Source -Language CSharp