hello world程序中的“无法识别的转义序列”错误(AssemblyInfo.cs)

时间:2013-10-05 21:09:55

标签: c# visual-studio-2010

我刚刚创建了一个Hello World来测试它:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Helloworld1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Console.ReadLine();
        }
    }
}

无论我构建什么,我都会遇到同样的错误:

Error   1   Newline in constant AssemblyInfo.cs 11  28  Helloworld1
Error   2   Unrecognized escape sequence AssemblyInfo.cs    13  46  Helloworld1
Error   3   Syntax error, ']' expected  AssemblyInfo.cs 36  43  Helloworld1
Error   4   ) expected AssemblyInfo.cs  36  43  Helloworld1

注意行号。这段代码中没有36行!
谁能告诉我发生了什么事。 (是的,我已经关闭并重新打开了我的Visual Studio 2010专业版。)

5 个答案:

答案 0 :(得分:3)

如果编辑程序集属性(项目属性 - >程序集信息)并在任何字段中输入无效字符(如反斜杠(\),则会发生这种情况。描述等。

你得到一个错误,好像它没有保存,但确实如此 - 这会在你尝试编译时引起问题。

只需打开属性fodler中的AssemblyInfo.cs,VS就会重新点击有问题的角色,删除它,如果红线消失,你就可以去了。

Example of the problem as it looks in the IDE

答案 1 :(得分:2)

每个Visual Studio项目中都包含一个额外的文件,位于Properties文件夹中,名为AssemblyInfo.cs。打开它,你会发现某些东西不太正确。

如果你不确定,你可以删除它 - 你的项目不需要运行,尽管它可能很有用。

答案 2 :(得分:2)

在VS2012中创建新项目时,我总是从AssemblyInfo.cs文件中编译错误。问题总是似乎是一个换行符。

[assembly: AssemblyCompany("
            ")]
[assembly: AssemblyProduct("Html5Testing")]
[assembly: AssemblyCopyright("Copyright © 
             2014")]

我手动删除换行符并解决了问题。

我也搜索了这一点,令人惊讶的是,我找不到太多面对它的人。这让我觉得它可能是我本地版VS的设置。

答案 3 :(得分:0)

检查AssemblyInfo.cs文件 - 它位于Properties文件夹中。错误就在那里。

答案 4 :(得分:0)

检查

上的注册表项
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization 

并确保它具有您的组织名称或为空白。

我遇到了类似的问题,每次我开始一个新项目时,我的assembly.cs文件中都有换行符,我必须将其删除。在那个reg键中,我发现我有一长串的空格。