我希望在用户编译引用我们计划删除的程序集时产生警告消息。 这个程序集的内容已经与另一个程序集合并,我想鼓励用户停止引用旧的程序集。
不幸的是,似乎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以避免破坏他们的构建。
听起来我应该使用类型转发器来确保已经针对这些程序集构建的程序在不需要重新编译的情况下继续工作,但我不想留下Assembly1中的存根类来标记程序集已过时。
TypeForwardedTo
是一个程序集属性,而不是类属性。因此,在 Assembly1 中你将不需要留下一个存根类。 - Brian