如何编译使用外部依赖项但不包含在库中的 C# 库?

How do I compile my C# library that uses external dependencies without them included in the library?

我正在制作自己的 C# 库,它使用 OpenTK 方法。当然,我必须包含 OpenTK 依赖项才能在我的项目中使用它们。当我编译我的库并将其作为新的外部依赖项包含在我的新项目中时,OpenTK 依赖项也被包含在内。我的目标是不在使用它们的自制库中包含 OpenTK 依赖项,而是让用户在使用我的库之前下载所需的依赖项。那可能吗?这甚至是重要的事情吗?我不熟悉 C# 中的库。

Nuget 包可以在这方面为您提供帮助。添加 OpenTK nuget 包参考并将您的库共享为 nuget 包。在这种情况下,您的 nuget 包将没有 OpenTK 的程序集,而是将引用 OpenTK nuget 包。当有人将您的包添加为 nuget 包引用时,nuget 包安装程序会查找所有其他 nuget 包依赖项并自动安装。

需要注意的是,如果您的包中有任何 non-nuget 包引用,那么这些程序集将成为您的 nuget 包本身的一部分。