问题描述:为了在C#中执行js脚本,在一个目标平台编译为Any Cpu的.NET程序集中引用了MSScriptControl组件,在winform程序中,调用这个程序集中的执行js的方法,没有任何问题。但是在windows服务中调用却报错,报错信息如下:
在尝试过很多方法之后仍然没有解决,包括将MSScriptControl组件的引用属性“嵌入互操作类型”设置为false,如图所示:
这样子修改之后,报另外一个错误:
解决方案:MSScriptControl组件是32位的,所以需要将程序集的目标平台设置为X86平台,才能使用。设置如图: