.NET - 尝试编译自动属性时出错

4

我正在尝试使用以下代码编译Poco:

public class MenuItem
{
    public string Name 
    { get; set; }
    public string Url
    { get; set; }
}

我不断收到编译错误,其中涉及gets和sets,消息如下: 'MenuItem.Name.get'必须声明一个主体,因为它没有标记为抽象或外部。 我错过了什么?我正在将这个类编译到本地文件系统网站的App_Code文件夹中,该网站被设置为以.NET 3.5进行编译。我知道我以前做过这个,但是无法弄清楚我现在做了什么不同。

1个回答

12

请确保您的 Web.config 文件在 <configuration> 元素下面包含一个 <system.codedom> 子元素,就像这样:

<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>
  </compilers>
</system.codedom>
问题出在ASP.NET运行旧版本的C#编译器(v2.0)来编译您的应用程序,该编译器不支持自动属性。为了使用.NET 3.5功能,您必须在Web.config中显式地指定编译器版本。

谢谢。有编辑权限的人可以修复缺失的闭合</compilers>标签。 - BuddyJoe
哎呀,没错。我修好了!StackOverflow需要IntelliSense!哈哈! - Mehrdad Afshari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接