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

标签 c# .net asp.net automatic-properties

我正在尝试用这段代码编译一个 POCO

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

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

最佳答案

确保您的 Web.config文件包含 <system.codedom> <configuration> 下的子元素像这样的元素:

<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 中指定编译器版本明确地。

关于c# - .NET - 尝试编译自动属性时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/370476/

相关文章:

c# - 获取 IIS 网站应用程序名称

javascript - 在页面刷新时重新连接 SignalR 客户端?

javascript - 具有相同验证组的 asp.net requiredFieldValidators 不会同时触发

asp.net - VB.net session 变量计数器未添加

c# - 将枚举的多个副本添加到列表的惯用方法

c# - 在部分 View 中呈现的模型属性值不正确

c# - C# 和 Java 对象的共享业务规则

c# - 覆盖然后设置为空

c# - 如何修复: Object must be an array of primitives. 参数名称:src

Azure 中的 ASP.NET session 状态提供程序