我想从C#程序集中运行JavaScript代码,并将JavaScript代码的结果返回给调用C#代码。
更明确地说,我不是想在代码后台调用Web页面上的JavaScript函数;我也不想加载WebBrowser控件;我不想让JavaScript执行AJAX调用服务器。我想用JavaScript编写单元测试,并输出JSON或普通文本,然后有一个通用的C#类/可执行文件可以加载包含JS的文件,运行JS单元测试,将结果抓取/载入,并在post-build任务期间返回带有详细信息的通过/失败状态。我认为使用旧的ActiveX ScriptControl是可能的,但似乎应该有一种.NET的方式来做到这一点,而不使用SilverLight、DLR或任何尚未发布的东西。大家有什么想法吗?
namespace Microsoft.JScript.Vsa
{
[Obsolete("There is no replacement for this feature. " +
"Please see the ICodeCompiler documentation for additional help. " +
"http://go.microsoft.com/fwlink/?linkid=14202")]
澄清: 我们使用JSUnit框架编写JavaScript函数的单元测试,目前在构建过程中,我们需要手动加载网页并单击按钮以确保所有JavaScript单元测试都通过。我希望能够在自动化的C#单元测试运行期间,在后构建过程中执行这些测试,并将其成功/失败报告与C#单元测试一起显示,以便于判断构建是否出现问题。