如何使用StringTemplate运行cs-script(c#脚本)?

时间:2011-01-09 20:42:57

标签: c#

我将Antlr3.StringTemplate.dll和Antlr3.Runtime.dll从http://www.stringtemplate.org/复制到cs-script / lib目录(http://www.csscript.net/)并执行下面的代码,但它说它找不到程序集Antlr为什么?我的编程低于

//css_reference Antlr3.Runtime.dll;
//css_reference Antlr3.StringTemplate.dll;

using System;
using Antlr.StringTemplate;
using Antlr.StringTemplate.Language;
using System.Windows.Forms;

class Script
{
    static public void Main(string[] args)
    {


StringTemplateGroup group =  new StringTemplateGroup("myGroup", @"C:\Tutorials\stringtemplate", typeof(DefaultTemplateLexer));
StringTemplate helloAgain = group.GetInstanceOf("homepage");

helloAgain.SetAttribute("title", "Welcome To StringTemplate");
helloAgain.SetAttribute("name", "World");
helloAgain.SetAttribute("friends", "Terence");
helloAgain.SetAttribute("friends", "Kunle");
helloAgain.SetAttribute("friends", "Micheal");
helloAgain.SetAttribute("friends", "Marq");

Console.Out.WriteLine(helloAgain.ToString());
    }
}

1 个答案:

答案 0 :(得分:1)

错误意味着CS-Script无法解析Antlr3。*。dll程序集。

您需要指示脚本引擎可能位于这些程序集的位置,如果您不这样做,CS脚本将只在GAC,您的本地目录(脚本所在的位置)和[cs-script]中查找\ LIB。

您有几个选择来解决问题:

  • 您可以使用绝对路径指定程序集
  • 将探测目录添加到CS脚本全局设置或直接添加到脚本中。
  • 在GAC中注册Antrl。

查看AddingSearchDirs和www.csscript.net/help/Using_.NET_assemblies.html,这将有助于您开始。