将 JSON 序列化依赖项打包成二进制文件对于 .NET Core 库来说仍然是个好主意吗?
Is packaging JSON serialization dependencies into binary still a good idea for a .NET Core library?
当我过去构建共享 .NET 库(供内部使用,而不是 public 库)时,我嵌入了一个序列化库(通常是 Newtonsoft)作为资源并使用程序集决定以类似于 Embedding DLLs in a compiled executable 的方式加载它。我这样做是为了让库的用户不必担心构建库时使用的 Newtonsoft 版本。
在 .NET Core 世界中,这仍然是一个好方法吗?似乎随着 NuGet 的深入包含,它可能不再需要了,但我还没有构建足够多的 .NET Core 应用程序来了解依赖图管理会变得多么糟糕。
我已经不再这样做了。指定依赖项以及需要哪些特定版本的能力使消费者(我们的仅适用于我们的团队)更明确地知道存在依赖项。依赖性不那么明确会导致我们头疼,尤其是对于较大的应用程序,因为让您的绑定重定向一切顺利可能会成为一个问题。不妨让自己轻松记住您可能需要一些其他包,以及哪个版本已通过使用 nuspec 中的 nuget 依赖管理成功集成。
当我过去构建共享 .NET 库(供内部使用,而不是 public 库)时,我嵌入了一个序列化库(通常是 Newtonsoft)作为资源并使用程序集决定以类似于 Embedding DLLs in a compiled executable 的方式加载它。我这样做是为了让库的用户不必担心构建库时使用的 Newtonsoft 版本。
在 .NET Core 世界中,这仍然是一个好方法吗?似乎随着 NuGet 的深入包含,它可能不再需要了,但我还没有构建足够多的 .NET Core 应用程序来了解依赖图管理会变得多么糟糕。
我已经不再这样做了。指定依赖项以及需要哪些特定版本的能力使消费者(我们的仅适用于我们的团队)更明确地知道存在依赖项。依赖性不那么明确会导致我们头疼,尤其是对于较大的应用程序,因为让您的绑定重定向一切顺利可能会成为一个问题。不妨让自己轻松记住您可能需要一些其他包,以及哪个版本已通过使用 nuspec 中的 nuget 依赖管理成功集成。