如何在不破坏用户代码的情况下在现有API中重命名c#名称空间?

时间:2010-06-18 14:05:59

标签: c# assemblies

是否可以在不破坏用户代码的情况下在现有API中重命名命名空间名称?

4 个答案:

答案 0 :(得分:5)

不,这是不可能的。最好的方法是在单个文件中重命名命名空间:http://msdn.microsoft.com/en-us/library/sf0df423(VS.80).aspx

答案 1 :(得分:5)

  

是否可以重命名命名空间   在没有的现有API中命名   打破用户代码?

如果更改了对象所在的命名空间,它将破坏引用它的代码。

答案 2 :(得分:3)

您可以在旧命名空间中生成一堆对象,这些对象只是将其调用委托给新的(有效的透明代理),然后在将来某个时候弃用代理对象。

可能非常糟糕,具体取决于您的代码库的大小/复杂程度。

更好的可能只是一个非技术性的答案,警告您的用户API名称空间更改在发布之前发生。假设他们正在积极开发客户,搜索/替换不是他们的世界末日。

如果有大量数据没有积极开发客户端,那么您将不得不使用旧命名空间继续维护/错误修复分支一段时间。

答案 3 :(得分:0)

如果您有权访问API调用者代码,则可以使用别名来引用新的命名空间。

这样,从API调用者的角度来看,没有发生任何变化。