我的项目中有大量程序集。
- 合同.Common ; 包含所有
DataContract
常用的s。 - 合约同步;更多功能
- 合同任务;更多功能
- 随着产品的发展,另外六个具有更多功能的组件。
一般来说,由于Contract.Common被其他 WCF 合同程序集引用。遵循一些最佳实践,阅读更多WCF 架构和演进/版本,有一个静态常量类,例如我的 NamespacePrefix,我用于所有合同。
尽管我正在开发一个独立于通用合同的新合同,但这是第一次。我们称之为Contract.NewStuff
按照规范,新合约在我的通用合约库中重用命名空间前缀常量(这意味着它需要引用它)。
对于我的 web 服务客户端,我引用了我的合同程序集并使用它来连接到各种 web 服务并调用它们。
问题
由于Contract.NewStuff仅在编译时将公共库用于常量(没有运行时程序集),我如何阻止我的客户也必须引用我的Contract.Common程序集?
我知道我的 Common Contract 只是一个 20KB 的程序集,我不应该担心它。但是有 300,000 多台机器使用Contract.NewStuff,我不明白为什么我应该浪费资源发送该程序集,在未来的版本中更新它等等......
更新 1
使用添加文件作为链接选项。没有引用,单一的地方来编辑常量。