文件加载在加载文件时,某些字节已被Unicode替换字符替换

时间:2010-11-29 16:45:39

标签: c# .net visual-studio-2010 debugging

当我进入他们的文件时,我突然调试.Net框架源代码,Visual Studio 2010引发了这个错误:

  

文件加载:
   加载文件XXX时,某些字节已被Unicode替换字符替换,保存文件将不会保留原始文件内容。

当我单击“确定”时,文件被标记为未保存,当您尝试保存文件时,它表示该文件已被锁定,但我可以覆盖该文件。我不知道这个消息意味着什么。

为什么现在,视觉工作室第一次从Symbol服务器下载文件?

10 个答案:

答案 0 :(得分:6)

我刚遇到同样的问题。它需要打开一个文件再次保存。我猜一些可以批量处理的工具可以解决这个问题。

upd:实际上似乎没有帮助......寻找另一种解决方案

upd2:重新保存文件实际上有帮助,但您必须禁用此选项:

调试\常规\要求源文件与原始版本完全匹配

答案 1 :(得分:4)

我通过将“非Unicode程序的语言”设置更改为“英语(美国)”来解决此问题。 如果您使用的是Windows 10,则可以在“控制面板 - >时钟,语言和区域 - >区域 - >管理”中找到它。

Screenshot of the Region Settings dialog in Windows

答案 2 :(得分:3)

我遇到了同样的问题。似乎vs2010正在尝试使用错误的编码来读取源文件。我用编辑板打开文件并将其转换为utf-8,然后就可以了。

答案 3 :(得分:3)

在最近的Windows 10 Spring 2018更新中打开(出于测试目的)新设置“测试:使用Unicode UTF-8进行全球语言支持”之后,我开始出现此错误。

然后,该消息将出现在每个具有非ASCII字符的文件中(大多数情况下为德国Umlauts),并且以前未存储为UTF8。

答案 4 :(得分:1)

我使用notepad ++并编辑了项目中的每个文件 在每个文件的末尾有NullNullNullNull行删除它并单击ctrl + S对所有文件执行此操作它会帮助我知道它帮助了我

答案 5 :(得分:1)

在我看来,这是 this beta settings 导致了这个问题。

答案 6 :(得分:0)

我正在使用SVN * .tmpl模板文件作为版本号,它包含(c)版权符号。 VS 2010在从AssemblyInfo.tmpl文件生成AssemblyInfo.cs文件时抱怨这一点。

所以我用“(c)”替换了版权符号,错误消息消失了。

答案 7 :(得分:0)

对我有用的是我发现页面出现错误 “在加载文件_PartialLogin.cshtml时,某些字节已被Unicode替换字符替换,保存文件将不会保留原始文件内容。”

我在与VS 2017不同的编辑器中打开_PartialLogin.cshtml(我使用Notepad ++),单击菜单栏上的> Encoding <,然后选择>在UTF-8中进行编码< 然后保存文件。 完成。

答案 8 :(得分:0)

如果您不想更改计算机编码设置(因为我都在处理法语和中文环境),这里有一种使用 VS Code 将源文件转换为 UTF-8 编码的方法:

  1. 使用 VS Code 打开文件
  2. 找到右下角的编码按钮(通常是 UTF-8)
  3. 点击它并选择重新打开编码,然后选择第一个(自动推荐)
  4. 现在您可以看到乱码消失了
  5. 再次点击编码按钮,这次选择保存编码,然后选择 UTF-8
  6. 保存文件

希望这有帮助。

答案 9 :(得分:-1)

如果使用Windows 10,则可以在“控制面板->时钟,语言和区域->区域->管理”中找到它

在新版本中,最后一个显示“ beta:....”的“检查”字段将从其中删除检查