如何在C#中重构名称空间而不影响其他项目?

时间:2018-12-22 18:43:22

标签: c# namespaces migration refactoring compatibility

我有一个Nuget程序包,从这里开始,我将大多数类和接口保留在基本名称空间中。随着时间的流逝,默认名称空间已经变得杂乱无章,它们之间有很多相互独立的类,我想将它们移到自己的名称空间中。例如,我想转换以下内容而不影响项目的现有用户:

 namespace WebTestSuite
 {
     /// <summary>
     /// Public test result properties
     /// </summary>
     public interface ITestResult
     {
           /* Interface definition here */
     }
 }

收件人:

 namespace WebTestSuite.Results
 {
     /// <summary>
     /// Public test result properties
     /// </summary>
     public interface ITestResult
     {
           /* Interface definition here */
     }
 }

最终目标是允许我在项目中重构名称空间,并且当用户获得软件包的最新版本时,他们对WebTestSuite.ITestResult的引用将自动更新为WebTestSuite.Results.ITestResult。

我当时以为我可以写一个迁移脚本,但是不确定是否有必要,或者是否有任何框架或任何可以简化此过程的东西。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:-1)

您可以尝试Resharper。它将以最小的努力提供对代码重构的大量控制。 使用重新分享工具,您可以关注this guideline