无法嵌入互操作类型“MSScriptControl.ScriptControlClass”

解决方案资源管理器窗口 -> 右击引用 -> 选择COM中的Mircosoft Script Control -> 确定。这样会将程序集MSScriptControl添加在引用中

 解决方案资源管理器--〉项目目录--〉引用--〉MSScriptControl--〉属性--〉嵌入互操作类型--〉改为false


示例片段

			ScriptControlClass js = new ScriptControlClass();
			js.Language = "javascript";
			var a = js.Eval("var w=10;var t=2; p=w/t;");
			//object result = js.Run("functionA", parameters);
			Console.WriteLine(a);


完整示例

using MSScriptControl;
 // 运行JS脚本
        public static string runJS(string filename, string funname, string[] argc)
        {
            /* 添加COM引用:
             * Library MSScriptControl
             * C:\WINDOWS\system32\msscript.ocx
             * Microsoft Script Control 1.0
             */
            int _paramsLen = argc.Length;
            object[] _params = new object[_paramsLen];   
            for(int i = 0; i < _paramsLen ;i++)//参数赋值   
            {   
                _params[i] = argc[i];   
            }   
            ScriptControlClass js = new ScriptControlClass();//使用ScriptControlClass  
            js.Language = "javascript";  
            js.Reset();
            string text = readFile(filename);
            if (text == null) { Debug.WriteLine("读取文件失败"); return null; }
            js.Eval(readFile(filename));//指向js脚本  @"JS/QQ.js"
            object result = js.Run("func", _params);//传入参数执行
            return result.ToString();
        }


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值