【问题标题】:MxParser and nugetMxParser 和 nuget
【发布时间】:2018-07-19 17:48:29
【问题描述】:

我在 ASP .NET CORE 2.1 中有一个项目。在其中,我使用我用 .NET STANDARD 2.0 编写的 dll,它使用 mxparser Nuget。

当我运行项目时,我收到消息:

System.IO.FileNotFoundException:无法加载文件或程序集“MathParser.org-mXparser.Stand20, Version=4.2.0.0, Culture=neutral, PublicKeyToken=0fbab7add73ed6e2”。

在 assets.json 文件中有一个指向 .NET CORE lib 的 mxparser 的链接,但我的 dll 必须使用 .NET STANDARD lib。

https://github.com/holeksas/MxParserProblem

我做错了什么?

感谢您的帮助

【问题讨论】:

  • 你能提供一个minimal reproducible example吗?这将使帮助您变得容易得多。 (我怀疑您应该能够使用 .NET Core 2.1 控制台应用程序而不是 ASP.NET Core 来重现该问题。)
  • 没问题。这很容易检查。 github.com/holeksas/MxParserProblem
  • 有 github repo 很好;将问题中的代码包含在文本中会更好。
  • 呃。从根本上看,这个包的创建很糟糕。所有的 DLL 应该具有相同的名称(但在不同的 lib 目录中)。目前它的打包方式根本不是 NuGet 包的预期工作方式:(
  • (诚然,命名空间表明作者一般不太关心遵循平台约定......)是否有可能将您的库更改为目标 netcoreapp2.1 而不是 netstandard2.0? (我承认这很可能是不可能的。)

标签: c#


【解决方案1】:

问题已在 MxParser 4.2.1 版中修复

【讨论】:

    【解决方案2】:

    'mxparser.netstandard20.dll' 这是一个有点奇怪的 dll 名称,因为 mXparser nuget 包包含'MathParser.org-mXparser.Stand20.dll'

    看起来像手动创建的参考...

    最好的问候

    【讨论】:

    • 是的,我知道名字是 'MathParser.org-mXparser.Stand20.dll' 。我不设置手动参考。此名称只是一个示例。
    猜你喜欢
    • 2019-02-16
    • 2022-11-07
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    相关资源
    最近更新 更多