Can';t再次将antlr 4集成到C#项目中

Can';t再次将antlr 4集成到C#项目中,c#,visual-studio-2017,antlr4,target,antlr3,C#,Visual Studio 2017,Antlr4,Target,Antlr3,我在使用语言分析器工具antlr的项目中遇到问题。首先,当我创建项目并安装antlr4时,它成功地与语法文件ECMAScript.g4集成,但一旦我添加了antlr3框架,并在这个语法文件JSDeobfucs.g下,之后我尝试将其集成到现有项目中,然后项目停止构建lexer、parser和,监听器e.t.c.也不再创建,编译错误的输出: [错误]文件 'C:\Users\Dima\Desktop\Projects\C\JsAstVisitor\JsAstVisitor\obj\Debug\ecm

我在使用语言分析器工具antlr的项目中遇到问题。首先,当我创建项目并安装antlr4时,它成功地与语法文件ECMAScript.g4集成,但一旦我添加了antlr3框架,并在这个语法文件JSDeobfucs.g下,之后我尝试将其集成到现有项目中,然后项目停止构建lexer、parser和,监听器e.t.c.也不再创建,编译错误的输出:

[错误]文件 'C:\Users\Dima\Desktop\Projects\C\JsAstVisitor\JsAstVisitor\obj\Debug\ecmascript baseListener.cs' 没有找到。[错误]文件 'C:\Users\Dima\Desktop\Projects\C\JsAstVisitor\JsAstVisitor\obj\Debug\ecmascript lexer.cs' 没有找到。[错误]文件 'C:\Users\Dima\Desktop\Projects\C\JsAstVisitor\JsAstVisitor\obj\Debug\ECMAScriptListener.cs' 没有找到。[错误]文件 'C:\Users\Dima\Desktop\Projects\C\JsAstVisitor\JsAstVisitor\obj\Debug\ECMAScriptParser.cs' 没有找到

为了在Visual Studio 2017中集成antlr3,我遵循了下面的步骤

尽管奇怪的是,Visual Studio 2017没有创建类似的指令,因此project antlr build by target不仅不同于依赖于antlr框架版本

,但在Visual Studio版本上。此外,最新版本的Visual Studio antlr 3和4中的内容在图形化nuget package manager上不受支持,但只有在nuget manager控制台上我才能安装它们。这里是我的链接(我不能在这里附加项目存档,因为stackoverflow并不像我想的那样支持所有文件类型)

因此,请告诉我:

  • 这里有什么问题

  • 如何解决

  • 在visualstudio中,真的是这样吗# 投影两个不同版本的antlr冲突和will冲突 彼此之间

  • 如果两个版本的antlr在单个 项目,那么现在antlr4在我当前的 至少,同时我不会做这个项目 一开始,这当然是可能的吗

  • p、 我在C#target中发现了与antlr源代码生成类似的问题:


    正如我所理解的,我可以使用什么,但我不明白:它如何帮助我解决C#project中antlr集成的常见问题。无论如何,请帮帮我。

    我也面临同样的问题,这解决了它- 您需要右键单击解决方案资源管理器中的语法文件并选择“属性”。在“属性”窗口中,配置以下项目

    构建操作:Antlr4

    自定义工具:MSBuild:Compile

    自定义工具命名空间:希望生成的类位于其中的命名空间的完整名称。ANTLR语言支持扩展根据为C#项目配置的根命名空间以及语法所在项目中的子文件夹配置此字段。”


    请参阅-

    您能将此信息发布到吗?我最近更新了2017年的支持,可以帮助您。好的。谢谢你的建议,山姆