我正在尝试编写一个网页,根据与该项目相关联的严重性级别切换项目的颜色。我正在使用mscorlib DLL中的System.Diagnostics.Tracing.EventLevel枚举。
当我尝试编译此页面时,出现编译错误: 错误CS0234:命名空间“System.Diagnostics”中不存在类型或命名空间名称“Tracing”(您是否缺少程序集引用?)
代码本身在.cshtml文件中看起来很好,intellisense可以检测命名空间和类型并适当地完成所有操作,它只是不会编译。如果我在剃刀视图中的类型上按F12,它会转到mscorlib DLL信息。网站项目没有错过对mscorlib的引用,因为这是默认的库,默认情况下所有这些项目都有(当我试图将'添加'到项目引用文件夹时,VS告诉我这个)。我做错了什么?
@model NMCOnlineServices.Website.Areas.HEI.Models.EditRecordViewModel
@using NMCOnlineServices.Website.Areas.HEI.Extensions
@functions{
public String GetColour(System.Diagnostics.Tracing.EventLevel level)
{
switch (level)
{
case System.Diagnostics.Tracing.EventLevel.Critical:
case System.Diagnostics.Tracing.EventLevel.Error:
return "Red";
case System.Diagnostics.Tracing.EventLevel.Warning:
return "Amber";
default:
return "Black";
}
}
}
//More view stuff here, compiler bombs out on the GetColour() declaration
答案 0 :(得分:0)
所有正在使用的项目都针对.NET 4.5。项目的整体web.config包含以下行:
<compilation debug="true" targetFramework="4.0">
修复方法是将其更改为:
<compilation debug="true" targetFramework="4.5">