【问题标题】:Can a 'linked'-file be renamed programatically via an Extension可以通过扩展以编程方式重命名“链接”文件吗
【发布时间】:2021-10-15 02:56:26
【问题描述】:

我编写了一个扩展程序,其中包括根据文件包含的类型重命名文件。

这适用于 csproj 文件下目录树中的文件——我找到该文件的 ProjectItem 条目并更改其名称。

对于“链接”文件(不在目录树中的文件),我可以重命名文件(通过 File.Move()),但没有找到以编程方式修改 csproj 文件的方法(重命名后csproj 文件必须手动修改)。

如果可以做到这一点,我将不胜感激指向显示如何实现该功能的文档的指针。

【问题讨论】:

  • Microsoft.Build.BuildEngine 命名空间有帮助吗?
  • 感谢您的提示。该命名空间中的类已被弃用 - 由 Microsoft.Build.Construction 取代 - 我将检查一下。

标签: visual-studio-extensions


【解决方案1】:

对我来说最简单的解决方案是修改 csproj 文件。

  1. 打开、读取整个文件、关闭。
  2. 验证我要重命名的文件(例如 xxx.cs)仅出现在 1 个目录中 (如果它发生在多个目录中,则必须手动完成更改。)
  3. 做出改变
  4. 打开、写入整个文件、关闭
  • 对于 SDK 项目,更改会立即应用。
  • 对于非 SDK 项目,在响应 csproj 文件已修改的提示后应用更改。

【讨论】:

  • 感谢分享解决方案,请不要忘记accept your answer,这是一个很好的参考。
猜你喜欢
  • 2011-10-11
  • 2013-04-03
  • 1970-01-01
  • 2011-11-05
  • 1970-01-01
  • 2015-07-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多