VS代码项目-找不到Antlr3.runtime文件(.NET Core)

时间:2019-04-30 07:09:36

标签: c# visual-studio-code .net-core antlr3 csproj

因此,我们有一个项目称为“ PrimaryProj ”,用于讨论。我们还有另一个项目,它带有.NET数学表达式评估系统NCalc的代码。

PrimaryProj使用对NCalc的项目引用,例如:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <Platforms>x86;AnyCPU</Platforms>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <!--blah blah blah -->
  </PropertyGroup>

  <ItemGroup>
    <!-- <PackageReference Include="PrimaryProj.NCalc" Version="0.0.1" /> -->
    <ProjectReference Include="../../primary-proj/src/NCalc.csproj" />
  </ItemGroup>

</Project>

如您所见,我们以前对NuGet包使用了PackageReference,但现在正尝试对另一个项目中的NCalc代码使用ProjectReference。

现在,NCalc的csproj仍然使用包引用:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <Platforms>x86;AnyCPU</Platforms>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <!-- redacted product info here -->
    <Description>
      NCalc is a mathematical expressions evaluator in .NET. NCalc can parse any expression 
      and evaluate the result, including static or dynamic parameters and custom functions.
      This library is derived from the original NCalc, released under the MIT License,
      Copyright (c) 2011 Sebastien Ros.
    </Description>
    <Copyright>U.S. Army</Copyright>
    <!-- blah blah blah --->
  </PropertyGroup>

  <!-- <ItemGroup>
    <PackageReference Include="Antlr3.CodeGenerator" Version="3.5.2-beta2" />
    <PackageReference Include="Antlr3.Runtime" Version="3.5.2-beta2" />
  </ItemGroup> -->
  <ItemGroup>
    <PackageReference Include="Antlr3" Version="3.5.2-rc1" />
    <PackageReference Include="Antlr3.Runtime" Version="3.5.2-rc1" />
  </ItemGroup>

</Project>

它最初使用/尝试使用3.5.2-beta2,但是这和rc1都不起作用。当我们使用PackageReferences而不是ProjectReferences获得PrimaryProj的csproj文件时,它确实起作用。

现在我们得到一个错误:

Could not load file or assembly 'Antlr3.Runtime, Version=3.5.0.2, Culture=neutral, PublicKeyToken=eb42632606e9261f' or one of its dependencies. The system cannot find the file specified.

PackageReferences和ProjectReferences是否存在兼容性问题? (例如,如果一个项目使用ProjectReferences,它引用的项目也必须使用吗?)

这是一个巨大的难题。同样,我们在上面的错误中唯一看到过此版本号3.5.0.2的地方是NCalc内部的一些ANTLRStringStream引用中-我们可以使用omnisharp-metadata,这就是我们看到此版本的地方。 / p>

这一切都很混乱。任何帮助,特别是如果您碰巧处理了这些.NET头痛的问题,将不胜感激。

0 个答案:

没有答案