当我过去构建共享 .NET 库(供内部使用,而不是公共(public)库)时,我嵌入了一个序列化库(通常是 Newtonsoft)作为资源,并使用程序集解析将其加载到方式类似于 Embedding DLLs in a compiled executable 。我这样做是为了让库的用户不必担心构建库所用的 Newtonsoft 版本。
在 .NET Core 世界中,这仍然是一个好方法吗?似乎随着 NuGet 的深度包含,可能不再需要它了,但我还没有构建足够多的 .NET Core 应用程序来了解依赖关系图管理会变得多么糟糕。
最佳答案
我已经不再这样做了。指定依赖项以及需要哪些特定版本的能力使消费者(我们的仅适用于我们的团队)更明确地知道存在依赖项。依赖关系不那么明确会给我们带来麻烦,尤其是对于较大的应用程序,因为保持绑定(bind)重定向顺利可能会成为一个问题。不妨让自己轻松记住您可能需要一些其他包以及通过使用 nuspec 中的 nuget 依赖项管理成功集成了哪个版本。
关于c# - 对于 .NET Core 库来说,将 JSON 序列化依赖项打包为二进制文件仍然是一个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38106821/