我在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" : "";
}
}
当我编译时,它给我两个错误(编译成功和站点工作没有问题),但这些错误很烦人。
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#" %>
这是我第一次使用剃刀,所以我不知道还能做什么,所有搜索返回的ASP.NET 1-2结果都是过期的,甚至连剃刀都不存在,所以我不知道如何解决这个问题。
我正在使用Visual Studio 2015 (以防万一)
发布于 2015-05-27 04:38:07
我也有同样的问题。
我手动编辑了生成的文件file.cshtml.72cecc2a.cs
(位于AppData\Local\Temp\Temporary ASP.NET Files\root
),并将ASP.global_asax
更改为System.Web.HttpApplication
,然后错误就消失了。
以下是生成的代码:
protected static ASP.global_asax ApplicationInstance {
get {
return ((ASP.global_asax)(Context.ApplicationInstance));
}
}
我将其更改为:
protected static System.Web.HttpApplication ApplicationInstance {
get {
return ((System.Web.HttpApplication)(Context.ApplicationInstance));
}
}
我不知道为什么会发生这样的事情。
发布于 2015-12-18 11:21:15
我发现,如果我在Visual Studio2015中打开了App_Code
中的文件,当我运行构建时,我就不会得到错误。当我关闭这些文件时,错误再次出现。
发布于 2016-08-26 03:05:36
在尝试了这里提出的各种解决方案后,事实证明,只需退出Visual Studio 2015,然后重新启动它,就足以让解决方案/项目再次成功编译。
https://stackoverflow.com/questions/28513532
复制相似问题