【发布时间】:2020-02-18 12:51:31
【问题描述】:
短版
我发现自己在我的 Xamarin.Forms 项目中浪费了大量时间重命名 + 包括文件,因为仅在文件中从大写到小写(反之亦然)的任何更改都不会导致任何更改所以在项目文件中,所以我有几个问题:
- Visual Studio 中是否有一个选项可以考虑文件从大写字母重命名为小写字母? (见下方编辑)
- 在不删除/重新添加文件的情况下将大量文件从大写变为小写的最佳方法是什么?
- 重命名文件是否直接包含在
.csproj中是一种良好做法?如果不是,那么最适合这种情况的是什么?
加长版 + Adicional 信息
我必须包含 2000 多张图片(Android + iOS 及其各自的尺寸)。所以我开始将文件复制到正确的目录并将它们包含在移动项目中,当我已经将文件包含在项目中并且某些文件具有我以前没有注意到的大写字母时,问题就出现了,所以我进行了更改手动查看所有文件,当我注意到这些更改未反映在解决方案资源管理器/项目文件中时,我手动尝试并收到此错误:
编辑:似乎这个问题在 VS2019 arround v.16.1 中显然是 resolved,但前提是文件没有在外部重命名。既然我这样做了,我就收到了这个警告。这回答了我的第一个问题。
我发现的一个解决方案是重命名为:Foo.png > fooo.png > foo.png
但是由于我必须编辑的文件数量,这将是指数级的耗时,所以我编写了这段代码:
string filepath = @"C:\Users\(...)";
DirectoryInfo d = new DirectoryInfo(filepath);
foreach (var file in d.GetFiles("*.png", SearchOption.AllDirectories))
{
if (file.Name.Any(char.IsUpper))
{
File.Move(file.FullName, file.FullName.Replace(file.Name, file.Name.ToLower()));
}
}
它所做的基本上是创建一个新文件,但使用小写字母,这意味着我仍然必须删除旧引用并包含新文件。这似乎不对,因为简单的重命名就可以了。
我的选择是什么?
【问题讨论】:
-
@HansPassant 我的 Visual Studio 版本是 16.3.9,到 2019 年 11 月 5 日,开发者社区接受的 awnser 是从 2019 年 5 月 17 日开始,这是 arround 16.1 /16.2 预览版,我唯一不同的是在解决方案资源管理器中更改之前直接重命名文件,我将尝试在解决方案资源管理器中添加一个文件并重命名
-
@HansPassant 刚刚尝试过并且它有效,在解决方案资源管理器中重命名文件而没有任何外部更改它没有给我错误,但问题仍然存在,因为在解决方案资源管理器中进行批量文件重命名仍然比重新添加它们要慢,并且重命名文件夹中的文件不会反映在解决方案资源管理器中,但很好发现!我想如果你以 Anwser 的形式呈现这个,尽管没有解决问题,它可能会帮助其他可能需要它的人
标签: c# android windows visual-studio xamarin