当用户编译引用我们计划删除的程序集的代码时,我想生成一条警告消息。此程序集的内容已与另一个程序集合并,我鼓励用户停止引用旧程序集。
不幸的是,ObsoleteAttribute 似乎对程序集无效。在构建引用程序集的项目时,是否有任何其他方式导致编译器警告?
谢谢。
编辑:为了澄清,这是合并前后程序集的样子
合并前:
Assembly1:
namespace A.B.C {
class C1
...
}
Assembly2:
namespace A.B.D {
class D1
...
}
合并后:
Assembly1:
(empty)
Assembly2:
namespace A.B.C {
class C1
...
}
namespace A.B.D {
class D1
...
}
在合并之前,用户引用了 Assembly1 和 Assembly2。合并后,他们只需要引用 Assembly2,但我宁愿发出不再需要 Assembly1 的警告,也不愿通过立即删除 Assembly1 来破坏他们的构建。
听起来我应该使用类型转发器来确保已经针对这些程序集构建的程序继续工作而无需重新编译,但我不想将 stub 类留在 Assembly1 中只是为了将程序集标记为过时.
最佳答案
将类型从一个程序集移动到另一个时,正确的做法是使用 type forwarder ,而不是将旧的程序集类标记为已过时。
关于c# - 是否可以将程序集标记为已弃用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4475014/