首页 新闻 会员 周边

文件编码问题引发的.net core编译出错

0
悬赏园豆:30 [已解决问题] 解决于 2018-02-08 16:37

签出 EFCore 源码,用 build.cmd 命令进行编译,总是出现下面的错误:

C:\Dev\github\EntityFrameworkCore\src\EFCore.Specification.Tests\TestModels\ConcurrencyModel\F1Context.cs(526,28): error CS1010: Newline in constant 

用 VS2017 打开 F1Context.cs 文件,会出现下面的提示:

Some bytes have been replaced with the Unicode substitution character while loading file C:\Dev\github\EntityFrameworkCore\src\EFCore.Specification.Tests\TestModels\ConcurrencyModel\F1Context.cs with Chinese Simplified (GB2312) encoding. Saving the file will not preserve the original file contents.

被 VS2017 转码后,F1Context.cs 中出现乱码

new TestDriver
{
    Name = "Marc Gen?,
    TeamId = Team.Ferrari,
    CarNumber = null,

编译错误就是因为乱码引起的。
请问如何解决这个问题?

问题补充:

F1Context.cs 的文件编码是 ANSI

dudu的主页 dudu | 高人七级 | 园豆:30994
提问于:2018-02-08 13:37
< >
分享
最佳答案
0

打开 Control Panel -> Clock, Language, and Region ,进入 Region -> Administrative ,将 Language for non-Unicode programsChinese(Simplified, China) 改为 English(United States) ,问题解决。

dudu | 高人七级 |园豆:30994 | 2018-02-08 16:37
其他回答(1)
0

这一般是欧洲字符造成的,我用的方法找到这个文件,用Nodepad++打开,转成UTF-8编码之类的,然后再用VS打开就没问题了。

或者你直接修改也行

Name="Marc Gen" 

反正是字符串,改了就改了。

收获园豆:30
爱编程的大叔 | 园豆:30839 (高人七级) | 2018-02-08 14:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册