Antlr无法使用VS2017

Dha*_*777 6 c# antlr4 .net-core visual-studio-2017

我想建立一个简单的项目ANTLR的.NET 1.0的核心项目使用VS2017.

https://github.com/sharwell/antlr4cs之后,将.g4文件添加到项目中.项目文件如下所示,

<Project Sdk="Microsoft.NET.Sdk">    
  <PropertyGroup>
     <TargetFramework>netcoreapp1.0</TargetFramework>   </PropertyGroup>

   <ItemGroup>
     <None Remove="Calculator.g4" />   </ItemGroup>

   <ItemGroup>
    <PackageReference Include="Antlr4" Version="4.5.4-beta001" />   </ItemGroup>  

   <ItemGroup>
     <AdditionalFiles Include="Calculator.g4" />   
   </ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

但文件说,

根据上表中的MSBuild Property列找到现有的XML元素,如果尚不存在则添加一个.例如,要为解析器生成解析树侦听器和访问者接口以及基类,请更新项目项以使其类似于以下内容.

<Antlr4 Include="CustomLanguage.g4">  
<Generator>MSBuild:Compile</Generator> 
<CustomToolNamespace>MyProject.Folder</CustomToolNamespace>  
<Listener>True</Listener>   <Visitor>True</Visitor> </Antlr4>
Run Code Online (Sandbox Code Playgroud)

此proj文件中没有任何Antlr4标记.VS2017不支持Antlr吗?是一个很好的例子,我可以遵循使用.net核心的ANtlr?

Lex*_* Li 4

这就是我在 .NET Standard 1.3 类库项目中保存语法文件所需的全部内容。

<ItemGroup>
    <Antlr4 Include="Something.g4">
      <Generator>MSBuild:Compile</Generator>
      <Listener>False</Listener>
      <Visitor>False</Visitor>
    </Antlr4>
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Antlr4" Version="4.6.1-beta001" />
  </ItemGroup>
Run Code Online (Sandbox Code Playgroud)

请注意,您可以使用较新的 Antlr4 软件包版本,因为 4.6.1 是创建此答案时唯一可用的版本。