我想使用 EdgeJS 应用程序中的 Roslyn 库,但不确定如何正确引用它。这是有问题的代码:
var edge = require('edge');
var toroslyn = edge.func(function(){/*
using System;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.CSharp.Scripting;
public class Startup
{
public async Task<object> Invoke(object code)
{
return await CSharpScript.EvaluateAsync("1 + 2");
}
}
*/
});
toroslyn(null, function (error, result) { console.log(result); });
和project.json:
{
"dependencies": {
"Microsoft.CodeAnalysis.CSharp.Scripting": "1.1.1",
},
"frameworks": {
"dnxcore50": {}
}
}
如果这样做之后dnu restore
就可以正常工作,那就太好了,但是文档指出我需要引用内联的依赖项,例如#r "Microsoft.CodeAnalysis.CSharp.Scripting.dll"
.
但是,为了让它工作,我需要指定程序集的整个路径,#r "C:/Users/Christian/.dnx/packages/....../Microsoft.CodeAnalysis.CSharp.Scripting.dll"
或者确保所有依赖程序集与我的节点应用程序位于同一文件夹中。
这是我拥有的两个选项还是我错过了什么?