【发布时间】: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#