哪里可以找到添加到Roslyn会话的参考资料?

时间:2013-12-18 09:11:04

标签: c# shell console roslyn

我正在尝试使用Roslyn.Scripting.CSharp对控制台shell进行编码。当然,用户可以使用host对象的方法动态添加对Session的引用:

public void AddRef(string nameOrPath)
{
    session.AddReference(nameOrPath);
}

public void AddRef(System.Reflection.Assembly asm)
{
    session.AddReference(asm);
}

但我也希望他能够列出已加载的程序集。怎么做?

不工作/不好的解决方案:

  • AppDomain.CurrentDomain.GetAssemblies() - 生成加载到AppDomain的所有程序集,这些程序集在Roslyn的脚本编写会话中不一定可用

  • 使用ScriptEngine的属性GetReferences() - 正如我所理解的,它会返回会话范围的引用列表,而我的AddRef方法不会更改它< / p>

  • 收集自己添加的参考文献列表。但是如果引用是通过显示名称添加的呢?如何将string nameOrPath转换为Assembly类型?使用Roslyn.Compilers.MetadataReference没有帮助,因为它没有引用Assembly

0 个答案:

没有答案