我正在尝试用这段代码编译一个 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/