F# 伪造:CreateCSharpAssemblyInfo与德国umlauts有困难

F# 伪造:CreateCSharpAssemblyInfo与德国umlauts有困难,f#,f#-fake,F#,F# Fake,当我在属性值中使用德语umlauts时,它们被转换为垃圾 Target "AssemblyInfo" (fun _ -> CreateCSharpAssemblyInfo "./src/App1/Properties/AssemblyInfo.cs" [ Attribute.Title "App1" Attribute.Product "some umlauts: äüö" ] )

当我在属性值中使用德语umlauts时,它们被转换为垃圾

Target "AssemblyInfo" (fun _ ->
    CreateCSharpAssemblyInfo "./src/App1/Properties/AssemblyInfo.cs"
        [
            Attribute.Title       "App1"
            Attribute.Product     "some umlauts: äüö"
        ]
)
构建完成后,我在AssemblyInfo.cs中发现类似的内容:

[assembly: AssemblyProductAttribute("some umlauts: ���")]

如何避免这种情况?

我已通过将umlaut字符替换为相应的unicode代码来解决此问题:

Attribute.Product "some umlauts: \u00e4\u00fc\u00f6"
更新


使用Unicode字符确实有效,但真正的原因是编码问题。将构建脚本的编码更改为UTF-8后,UMLAUT被正确翻译。(感谢@Carsten和@mthierba)

这可能是(您的脚本)的编码有问题(注意:我从未尝试过)-您能尝试更改编码并查看它会产生什么结果吗?如果不是的话,这可能是githubI上的错误记录的一个很好的候选者。我以前也遇到过同样的问题,正如@Carsten所建议的,这是因为伪脚本文件是用ANSI编码而不是UTF-8保存的。@Carsten和mthierba:你们都是对的。这确实是一个编码问题。把它作为答案贴出来,我会给第一个评分。卡斯滕和@mthierba:你们都是对的。这确实是一个编码问题。把它贴出来作为答案,我会给第一个学分。