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

来源:互联网 发布:java中九九乘法表 编辑:程序博客网 时间:2024/05/21 03:17

解决方案资源管理器窗口 -> 右击引用 -> 选择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 0