我编写了一个脚本,用于检出更改文件行中值的文件并检入代码。但在那之后,当我打开文件时,它会给我一个弹出窗口
不一致的行结尾
以下文件中的行结尾是 不一致。你想要标准化行尾。
有没有办法避免这种情况?当我比较时,我没有看到任何差异。是否会导致编译程序出现任何问题?
答案 0 :(得分:1)
您遇到的问题是关于不同的端线编码。我敢打赌,您为更改文件而编写的脚本会插入一行,如\n
。它是一个«* nix»表示法,通常也称为“LF”。某些(我猜是历史性的)原因的换行符的Windows表示法需要两个字符,它被称为“CR / LF”。也就是说,您需要在脚本中插入\n
,而不是\r\n
。只是为了您的兴趣,还有“CR”符号,即\r
- 它用于较旧的MAC。
您看到的消息抱怨了一个事实,即文件现在有不同的行结尾。也就是说,文件中的每一行最有可能是“CR / LF”,现在又有另一种符号。你应该在整个文件中使用相同的行符号,忽略它是“Unix”,“MAC”或“Windows”。
当我比较时,我看不出任何差异。
它是不可打印的字符,通常不会在text-diff实用程序中显示。
编辑程序会引起任何问题吗?
几乎不会导致任何编译问题。无论如何,现在你知道问题是什么,以及如何解决它。
答案 1 :(得分:1)
这是我在powershell中使用的代码
$enc = New-Object System.Text.UTF8Encoding( $false ) # required to save the file with UTF8 Without BOM
$wrt = New-Object System.XML.XMLTextWriter( $phyicalPath, $enc )
$wrt.Formatting = 'Indented'
$webconfig.Save($wrt)
$wrt.Close()
(Get-Content $phyicalPath)|Set-Content -Path $phyicalPath -Force # normalize line ending