在Linux上,是否可能强制.NET Core使用CRLF?

3
我们有一个使用Windows开发的.Net Core项目。现在我们开始使用Linux,但是在一些测试中遇到了一些问题。我们断言ArgumentNullException中的Message。在Windows上,最终消息将具有CRLF,但在Linux上,它将具有LF(这些换行符由框架自己放置)。
问题不仅仅在于测试。我们希望无论我们在哪里运行后端(我们计划开始在Linux上运行),所有由框架生成的字符串和文件都始终使用Windows换行符。
这可行吗?
1个回答

1

在 TextWriter 上设置 NewLine 属性,例如:

using (var stream = new StreamWriter(filename) { NewLine = "\r\n" })
    stream.WriteLine(...);

这似乎只支持一种用例:使用StreamWriter而不是其他使用Console.WriteLine的情况,后者使用Environment.NewLine - Kit
虽然我没有测试过,但我认为如果你需要的话,Console.Out.NewLine = "\r\n" 应该可以工作。 - Dylan Nicholson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接