내 (이 단계에서) 간단한 C# MVC3 (면도기) 응용 프로그램에서 오류가 발생하며 아래에서 오류의 원인을 찾을 수없는 것 같습니다.시퀀스에 요소가 없습니다. 스택 추적에 정보가 없습니다.
[InvalidOperationException: Sequence contains no elements]
System.Linq.Enumerable.Last(IEnumerable`1 source) +4188046
RouteDebug.RouteDebuggerHttpModule.OnBeginRequest(Object sender, EventArgs e) +78
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
이것은 내가 얻은 것입니다. 줄 번호는 없습니다.
Global.asax.cs의 application_start sectin을 포함하여 코드의 여러 위치에 중단 점을 넣으려고 시도했지만 이러한 디버깅을 시작하지 않는 즉시 디버그를 시작하자마자 프로그램이 즉시 스택 추적을 사용합니다. .
다음과 같이 응용 프로그램의 구조는 : 나는 AdminAreaRegistration.cs 파일에 Application.Core 네임 스페이스를 추가하고, OBJ/빈과 재건을 제거 포함, 이미 몇 가지 제안을 시도했습니다
[Application.Core]
+Properties
+Reference
+Controllers
+Helpers
+Models
+AdminAreaRegistration.cs
+Global.asax.cs
[Application.Tests]
[Application.UI]
+Properties
+References
+App_Data
+Areas
+Admin
+Views
+Assets (css/js/images)
+Views
.
난 그저 문제의 원인을 볼 수 없습니다.
업데이트
AdminAreaRegistration.cs
using System.Web.Mvc;
namespace Application.Core
{
public class AdminAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Admin";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new {controller = "Page", action = "Index", id = UrlParameter.Optional }
);
}
}
}
Global.asax.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace Application.Core
{
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
// visit http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Page", action = "Homepage", id = UrlParameter.Optional } // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
}
}
"엿볼"또는 [RouteDebugger] (http://nuget.org/packages/routedebugger) 또는 이와 유사한 항목이 있습니까? 'RouteDebuggerHttpModule'은 매우 의심 스럽습니다. –
필 Haack의 routedebugger (2.1.4.0)가 처음 앱을 시작했을 때 설치되어 있습니다. 그것은 작동했지만, (내가 생각하기에) 나는이 영역을 만들었고이 영역으로보기를 옮겼습니다. 나는이 오류를 얻었습니다. 하지만 시작했을 때 정확히 말할 수 없었습니다. – kolin
내가 설정 한 관리 영역과 관련이있는 것처럼 보입니다. 나중에 다른 프로젝트가 호출 할 때이를 조사해야 할 것입니다. – kolin