类型编译错误后,新表达式需要()或[] - C#

Mic*_*ern 5 c# .net-3.5 visual-studio-2008

以下代码的同事在尝试使用VS 2008编译时会抛出以下错误:

错误:

新类型表达式需要()或[]

码:

MyClass结构:

public class MyClass
{
    public MyClass() {}

    public string Property1 { get; set; }
    public string Property2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

示例源代码:

List<MyClass> x = new List<MyClass>();

x.Add(new MyClass 
{
    Property1 = "MyValue",
    Property2 = "Another Value"
});
Run Code Online (Sandbox Code Playgroud)

它"适用于我的机器",但不是他的.知道为什么吗?

更新
他的目标是3.5 .NET框架
他正在使用System.Collections.Generics命名空间
MyClass对象确实有一个构造函数

更新1:
@ Funky81 - 您的示例和我的示例能够在我的PC上编译.

更新2:
示例中包含MyClass的模式

更新3:
@DK - 我让我的同事在他的应用程序中添加以下配置部分:

<system.codedom>
        <compilers>
            <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
                <providerOption name="CompilerVersion" value="v3.5"/>
                <providerOption name="WarnAsError" value="false"/>
            </compiler>
            <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
                <providerOption name="CompilerVersion" value="v3.5"/>
                <providerOption name="OptionInfer" value="true"/>
                <providerOption name="WarnAsError" value="false"/>
            </compiler>
        </compilers>
    </system.codedom>
Run Code Online (Sandbox Code Playgroud)

他收到了以下编译错误:无法识别的元素'providerOption'.

DK.*_*DK. 7

这是VS.2008中可用的唯一类似但不完全相同的错误:

编译器错误CS1526: 类型后,新表达式需要(),[] 或{}

请注意{}错误消息中的那些,它们是c#3.0语法的一部分.这与框架版本无关,而与语言版本无关.

我敢打赌,不知何故使用了不同版本的编译器.

补充:这看起来像ASP.Net可能存在的问题.要检查的地方是.config文件,元素

configuration\system.codedom\compilers\compiler @language="c#..."
Run Code Online (Sandbox Code Playgroud)

应该有

<providerOption name="CompilerVersion" value="v3.5"/>
Run Code Online (Sandbox Code Playgroud)