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

如何在不破坏用户代码的情况下重命名现有API中的c#命名空间?,c#,assemblies,C#,Assemblies,是否可以在不破坏用户代码的情况下重命名现有API中的命名空间名称?不,这是不可能的。最好是在单个文件中重命名命名空间: 是否可以重命名命名空间 现有API中的名称,不带 破坏用户代码 如果更改对象所在的名称空间,它将破坏引用它的代码。您可以在旧名称空间中生成一组对象,将它们的调用委托给新的对象(有效的透明代理),然后在将来某个时候弃用代理对象 不过,根据代码库的大小/复杂性,可能会非常糟糕 更好的方法可能只是一种非技术性的回答,即在发布API名称空间之前警告用户API名称空间正在发生更改。假设他

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

不,这是不可能的。最好是在单个文件中重命名命名空间:

是否可以重命名命名空间 现有API中的名称,不带 破坏用户代码


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

您可以在旧名称空间中生成一组对象,将它们的调用委托给新的对象(有效的透明代理),然后在将来某个时候弃用代理对象

不过,根据代码库的大小/复杂性,可能会非常糟糕

更好的方法可能只是一种非技术性的回答,即在发布API名称空间之前警告用户API名称空间正在发生更改。假设他们正在积极开发客户机,搜索/替换对他们来说并不是世界末日


如果有大量客户没有积极开发客户机,那么您必须使用旧名称空间继续维护/错误修复分支一段时间。

如果您有权访问API调用方代码,则可以使用别名引用新名称空间

这样,从API调用方的角度来看,没有发生任何更改