C# 后台执行 JS

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

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


MSScriptControl.ScriptControlClass scc = new MSScriptControl.ScriptControlClass();
            scc.Language = "javascript";
            Console.WriteLine(scc.Eval("var w=10;var t=2; p=w/t;").ToString());


在c#项目中引用JSCaller.dll 和Micosoft.JScript.dll 


PS:64位WIN7 配置IIS遇到问题

App_global.asax.sr8_llzl.dll' -- '拒绝访问。

设置c:windows\temp 目录访问权限 temp--> 属性-->安全-- > 添加IIS_IUSRS -->并赋予其权限为 读 和 写--> 确定


Message: 无法将类型为“MSScriptControl.ScriptControlClass”的 COM 对象强制转换为接口类型“MSScriptControl.IScriptControl”。此操作失败的原因是对 IID 为“{0E59F1D3-1FBE-11D0-8FF2-00A0D10038BC}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库/DLL 时出错。 (异常来自 HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY))。

 

解决方案:

1.运行- Regsvr32 msscript.ocx 
2.运行- regedt32.exe 
3.在注册表编辑器中定位到 HKCR\Typelib\{0E59F1D2-1FBE-11D0-8FF2-00A0D10038BC}\1.0\0\Win32节点 
4.右键该节点,选择“权限” 
5.Administrators权限改为完全控制 
6.更改该节点的默认值,改为C:\Windows\system32\msscript.ocx,去掉默认的引号。

我是64位 WIN7系统,C:\Windows\system32\目录下没有 msscript.ocx 文件
在网上下了一个Regsvr32 msscript.ocx 报错,下的是32位的。失败

之后找到方法,在WIN7 IIS应用程序池,高级设置中,启动32位应用程序True


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值