我使用Add As Link选项在多个程序集中包含相同源文件的实例.我特别需要在这些程序集中包含相同源的实例,因为它负责必须在程序集内部进行的许可证验证.跨模块边界执行许可证调用可能会带来安全风险.
我的解决方案中包含代码的一些项目依赖于其他包含它的模块,导致警告CS0436:
"[licence.cs完整路径]中的类型[类型]与[依赖项目中也包含licence.cs]中的导入类型[LicenceClass]冲突.使用[licence.cs完整路径]中定义的类型".
我已经尝试声明一个类别名,但licence.cs内部的定义会导致相同的警告.在别名中,必须引用重复的类名,这会引起相同的警告.
我知道在程序集之间复制源是不好的做法,但在这种情况下它是故意的.我宁愿保留每个程序集链接到的中央实例,而不是具有重命名类的专用实例以避免警告.
我的解决方法是使用a忽略警告#pragma.有更优雅的解决方案吗?