我正在开发一个.NET库项目,它包含一组接口,可以被一个服务所使用,我也在创建这个服务。服务的用户会提供库中接口的实现,然后将其注入到服务应用程序中。
我的库依赖于第三方库,我当然需要引用它。我的库中有一个接口,在其方法签名中使用了第三方库的类型。这意味着,这个特定接口的实现者也需要引用第三方库。我的担忧是,这增加了摩擦,让用户分心于她真正该做的工作——实现那个接口。
解决此问题的一个方法是包含第三方库构建的源文件,而不是将其作为单独的程序集引用。我知道这可能会使我将来整合第三方代码更新变得有些困难,但除此之外,是否有任何理由我不应该考虑这个选项?什么情况下要包含第三方代码而不是引用它?
注:所涉及的第三方库相当小(不到10个类,总共1500行代码),并且按照我项目的开放源代码许可证(Apache License 2.0)提供。
我的库依赖于第三方库,我当然需要引用它。我的库中有一个接口,在其方法签名中使用了第三方库的类型。这意味着,这个特定接口的实现者也需要引用第三方库。我的担忧是,这增加了摩擦,让用户分心于她真正该做的工作——实现那个接口。
解决此问题的一个方法是包含第三方库构建的源文件,而不是将其作为单独的程序集引用。我知道这可能会使我将来整合第三方代码更新变得有些困难,但除此之外,是否有任何理由我不应该考虑这个选项?什么情况下要包含第三方代码而不是引用它?
注:所涉及的第三方库相当小(不到10个类,总共1500行代码),并且按照我项目的开放源代码许可证(Apache License 2.0)提供。