如何使Visual Studio从JS文件编译库

本文关键字:文件 编译 JS 何使 Visual Studio | 更新日期: 2023-09-27 18:19:35

我阅读了这个答案,它解释了如何使用C#中的JScript Eval函数。似乎编译JsMath.js文件的唯一方法是通过命令行。我想在Visual Studio 2010中创建一个C#类库项目,并将JsMath.js文件放置在此项目中,以便在构建解决方案时也编译此文件。

如何使Visual Studio从JS文件编译库

在visualstudio中将文件标记为嵌入式资源。然后你可以在你的代码中访问它:

Assembly.GetExecutingAssembly().GetManifestResourceStream("JsMath.js");

然后,您可以使用JScriptcodeProvider将js文件动态编译到程序集中,并通过反射加载它。我不确定这是否比将JsMath预构建为程序集并将其作为引用加载到库中更好。

var compiler = new Microsoft.JScript.JScriptCodeProvider();
var parameters = new CompilerParameters(new [] {"/t:library"});
var result = compiler.CompileAssemblyFromSource(parameters, jsMathSource);
var asembly = result.Assembly;
//Load the assembly method via reflection

我从这个后中得到的编译位