c# - 如何在 C# 中重构命名空间而不影响其他项目?
问题描述
我有一个 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。
我想我可以编写一个迁移脚本,但不确定这是否有必要,或者是否有任何框架或任何可以使这更容易的东西。任何建议将不胜感激。
解决方案
你可以试试 Resharper。它将以最小的努力提供对代码重构的大量控制。使用 resharper,您可以遵循此指南。
推荐阅读
- typescript - 打字稿和使用新地图在输入第二个参数作为组件时遇到问题
- c# - 如何动态访问 EF Core 中实体的属性?
- botframework - LUIS 没有响应 Web 聊天中的测试和聊天机器人在模拟器和直线上正常工作
- java - 流式传输两个列表并返回描述
- reactjs - 未处理的拒绝(TypeError):BlocContract.methods.read_task 不是函数
- javascript - Next.js 在 url 末尾添加 [object%20Object]
- pandas - Pandas 1.3.0 pd.Grouper /df,groupby 升级后问题
- javascript - 如何导入任何 js 模块。(没有任何声明文件(d.ts))
- websocket - 为什么这个 nuxt-socket-io 发射器不会触发它的动作?
- django - FILEFIELD 属性没有与之关联的文件