Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Visual Studio生成事件中将输出文件重命名为小写?_C#_Visual Studio - Fatal编程技术网

C# 在Visual Studio生成事件中将输出文件重命名为小写?

C# 在Visual Studio生成事件中将输出文件重命名为小写?,c#,visual-studio,C#,Visual Studio,为了使我在尝试将文件移动到Unix计算机时保持清醒,我需要自动将每个输出文件重命名为小写。 目前我只是手动重命名它们中的每一个,Windows的兼容性强制大小写不敏感将为我完成这项工作(在Visual Studio重写文件时保留大小写),但我必须对每个文件都这样做,随着解决方案文件数的增加,这样做相当烦人。(如果我敢忘记一个文件名,我会感到很痛苦) 如何通过项目的构建事件自动执行此操作?运行构建事件不是一个好方法。您最好有一个专门的构建脚本来为您完成这项工作 由于您使用的是windows,请检查

为了使我在尝试将文件移动到Unix计算机时保持清醒,我需要自动将每个输出文件重命名为小写。
目前我只是手动重命名它们中的每一个,Windows的兼容性强制大小写不敏感将为我完成这项工作(在Visual Studio重写文件时保留大小写),但我必须对每个文件都这样做,随着解决方案文件数的增加,这样做相当烦人。(如果我敢忘记一个文件名,我会感到很痛苦)


如何通过项目的构建事件自动执行此操作?

运行构建事件不是一个好方法。您最好有一个专门的构建脚本来为您完成这项工作

由于您使用的是windows,请检查是否使用PowerShell运行您的生成。。。那里有很多资源。(我个人使用-发音为sa kee,如在日本米酒中)

现在,转到重命名。下面是一段代码,可用于将目录中的所有文件重命名为小写等效文件

重命名-Files.ps1

$dir = "$HOME\Projects\MyProjectDir\FilesToRename"
dir $dir | Rename-Item -NewName {$_.Name.ToLower()}
然后从控制台

> .\Rename-Files.ps1

注意:不要忘记使用const string str=“my string”;var strLower=str.ToLower()由于您使用的是Visual Studio,因此还必须具有对Powershell的访问权限。使用PS在生成脚本中重命名文件。。。请不要使用生成事件。@不是这些生成事件。。。?第一条注释中的代码片段是什么意思?不,不在那里。生成事件有点臭,对多个开发团队不友好。只需更改项目的属性一次,以指定小写名称。完成。(当然,没有理由将临时对象文件传输到另一台机器,所以这些都不重要。)你能详细说明第一句话吗?这是我第一次听到这个。另外,只有我一个人参与开发。构建事件与您的.csproj文件相关联。它们还与您的环境有关。如果您的环境发生变化,则很有可能您的构建事件会中断。构建脚本促进了可重用性和可移植性。如果您被构建事件所吸引,则可以从构建事件中触发powershell脚本。就我个人而言,我更喜欢那种东西的控制台,但是嘿。。。什么东西能让你的拖拉机漂浮。我认为对多个开发人员来说,使用构建事件会更友好,因为我可以让VisualStudio提供项目路径或输出路径等数据。我想《诗篇》也可以做到这一点,或者做一些类似的事情。对于这样的解决方案,我确实更喜欢Visual Studio的友好性,因此我将研究如何从构建事件中运行PowerShell文件。