我在 App_Code 上创建了一个 RazorFunctions.cshtml 文件
@functions {
public static string GetActiveClassIf(string controllerName, string actionName = null)
{
var routeData = @HttpContext.Current.Request.RequestContext.RouteData;
string currentController = routeData.Values["controller"].ToString();
string currentAction = routeData.Values["action"].ToString();
return controllerName == currentController &&
(String.IsNullOrEmpty(actionName) || currentAction == actionName) ? "active" : "";
}
}
当我编译时,它给了我 2 个错误(编译成功并且站点工作没有问题)但是这些错误很烦人。
RazorFunctions.cshtml 作为内容(尝试编译但当然不适用于 cshtml 文件)
Global.asax.cs 是:
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
ModelMetadataConfig.RegisterModelMetadata();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
Database.SetInitializer(new MigrateDatabaseToLatestVersion<ApplicationDbContext, Configuration>());
//Database.SetInitializer(new DropCreateDatabaseAlways<ApplicationDbContext>());
}
}
和
<%@ Application Codebehind="Global.asax.cs" Inherits="Bouron.Web.MvcApplication" Language="C#" %>
这是我第一次使用 App_Code,所以我不知道还能做什么,所有搜索都返回 ASP.NET 1-2 结果,已经过时了,razor 甚至不存在,所以我不是确定我该如何解决这个问题。
我正在使用 Visual Studio 2015(以防万一)
最佳答案
经过进一步调查,我发现这是一个已知问题。
来源:https://support.microsoft.com/en-us/kb/3025133
ASP.NET 和 Web 开发
当您创建 Web Forms 4.5 WAP 并打开 Web Form 页面时,您会在“错误列表”窗口中收到以下错误:
该项目将顺利运行。错误 CS0234 命名空间“ASP”中不存在类型或命名空间名称“global_asax”(是否缺少程序集引用?) 错误 CS0234 命名空间“System”中不存在类型或命名空间名称“Linq”(是否缺少程序集引用?) 假设您在 Visual Studio 2015 RC 中使用 C# 和 VB 的新语言功能。在 Web 窗体页面或 Razor View 中使用 C# 或 VB 时收到运行时错误。
要解决此问题,请安装 Microsoft.CodeDom.Providers.DotNetCompilerPlatform NuGet 包。此包将用基于 Roslyn 的提供程序替代 ASP.NET 的内置 CodeDom 提供程序。
关于c# - "ASP.global_asax does not exist in the namespace ASP",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28513532/