//如果JS文件过大,请使用添加资源的方式获 使用玄机宝盒 - 字符串转换Stringbuilder功能.
string MethodName = "Md5Str ";//JS方法名
string para = "";//执行参数
//调用方法 :需要工程外部引用 Interop.MSScriptControl.dll Framework4 引用 Interop.MSScriptControl_fr40
//使用引用时,请将代码平台设置为X86模式
//DLL路径在宝盒绝对路径下
//如若不希望携带DLL,请使用 EVAL 方式生成代码
RunMethod(reString,para,MethodName);
/// <summary>
/// 执行js Run方法
/// </summary>
/// <param name="reString">Js代码</param>
/// <param name="para">参数字符串(使用逗号分隔)</param>
/// <param name="MethodName">方法名称</param>
private void RunMethod(string reString, string para, string MethodName)
{
ScriptControlClass sc = new ScriptControlClass();
try
{
sc.UseSafeSubset = true;
sc.Language = "JScript";
sc.AddCode(reString);
string[] str = para.Split(',');
object[] obj = new object[str.Length];
for (int i = 0; i < str.Length; i++)
{
obj[i] = str[i];
}
sc.Run(MethodName, obj).ToString(); //执行结果
}
catch (Exception ex)
{
if (sc.Error.Source != null)
{
string txt = sc.Error.Text == null ? "" : sc.Error.Text;
string ErrorInfo = string.Format("执行JS出现错误: \r\n 第{0}行,第{1}列, \r\n 错误描述: {2}: {3};\r\n 错误Code:{4}", sc.Error.Line.ToString(), sc.Error.Column.ToString(), sc.Error.Source, sc.Error.Description.ToString() + txt, sc.Error.Number.ToString());
// ErrorInfo 异常信息
}
else
{
// ex.Message; 异常信息
}
}
}
//如果JS文件过大,请使用添加资源的方式获 使用玄机宝盒 - 字符串转换Stringbuilder功能.
string MethodName = "Md5Str ";//JS方法名
string para = "";//执行参数
//调用方法 :需要工程外部引用 Interop.MSScriptControl.dll Framework4 引用 Interop.MSScriptControl_fr40
//使用引用时,请将代码平台设置为X86模式
//DLL路径在宝盒绝对路径下
//如若不希望携带DLL,请使用 EVAL 方式生成代码
RunMethod(reString,para,MethodName);
1、解决方案资源管理器窗口 -> 右击引用 -> 选择COM中的Mircosoft Script Control -> 确定。这样会将程序集MSScriptControl添加在引用中
2、解决方案资源管理器--〉项目目录--〉引用--〉MSScriptControl--〉属性--〉嵌入互操作类型--〉改为false