2012-01-21 48 views
1

运行我的项目时,出现“用户代码未处理HttpCompileException”消息。我已经查看了所有与这个问题类似的网站问题,但是没有一个解决方案能够工作。HttpCompileException,CS024名称空间找不到

我曾尝试:

  • 重新启动我的电脑。
  • 改变了大会类型的.NET Framework 4我所有的项目
  • 我重塑了我的项目

时运行它,它用一个错误的代码返回:CS0246

全部查看经销商代码C#ASP.NET MVC3。我有一个局部的看法,我试图从我的服务层传递信息。它嵌套在我的共享布局部分中,以提供我的网站结构。我新了一个对象,我打电话给我的部分:

@Html.Partial("Profile", new UserService()) 

好,误差不抛出这个代码,但祖父母类的地方,这是coded.I认为我需要添加我的using语句中的所有父母当前部分的部分。这不起作用,但抛出相同的错误,除了我放置使用语句的位置。

at System.Web.Compilation.AssemblyBuilder.Compile() 
    at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() 
    at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) 
    at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) 
    at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) 
    at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) 
    at System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.FileExists(String virtualPath) 
    at System.Web.Mvc.BuildManagerViewEngine.FileExists(ControllerContext controllerContext, String virtualPath) 
    at System.Web.Mvc.VirtualPathProviderViewEngine.GetPathFromGeneralName(ControllerContext controllerContext, List`1 locations, String name, String controllerName, String areaName, String cacheKey, String[]& searchedLocations) 
    at System.Web.Mvc.VirtualPathProviderViewEngine.GetPath(ControllerContext controllerContext, String[] locations, String[] areaLocations, String locationsPropertyName, String name, String controllerName, String cacheKeyPrefix, Boolean useCache, String[]& searchedLocations) 
    at System.Web.Mvc.VirtualPathProviderViewEngine.FindPartialView(ControllerContext controllerContext, String partialViewName, Boolean useCache) 
    at System.Web.Mvc.ViewEngineCollection.<>c__DisplayClass8.<FindPartialView>b__7(IViewEngine e) 
    at System.Web.Mvc.ViewEngineCollection.Find(Func`2 lookup, Boolean trackSearchedPaths) 
    at System.Web.Mvc.ViewEngineCollection.FindPartialView(ControllerContext controllerContext, String partialViewName) 
    at System.Web.Mvc.HtmlHelper.FindPartialView(ViewContext viewContext, String partialViewName, ViewEngineCollection viewEngineCollection) 
    at System.Web.Mvc.HtmlHelper.RenderPartialInternal(String partialViewName, ViewDataDictionary viewData, Object model, TextWriter writer, ViewEngineCollection viewEngineCollection) 
    at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName, Object model, ViewDataDictionary viewData) 
    at System.Web.Mvc.Html.PartialExtensions.Partial(HtmlHelper htmlHelper, String partialViewName) 
    at ASP._Page_Views_Shared__Layout_cshtml.Execute() in c:\Users\Azurix\Documents\Visual Studio 2010\Projects\rizowski.net\Rizowski\Views\Shared\_Layout.cshtml:line 22 
    at System.Web.WebPages.WebPageBase.ExecutePageHierarchy() 
    at System.Web.Mvc.WebViewPage.ExecutePageHierarchy() 
    at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) 
    at System.Web.WebPages.WebPageBase.<>c__DisplayClass7.<RenderPageCore>b__6(TextWriter writer) 
    at System.Web.WebPages.HelperResult.WriteTo(TextWriter writer) 
    at System.Web.WebPages.WebPageBase.Write(HelperResult result) 
    at System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body) 
    at System.Web.WebPages.WebPageBase.PopContext() 
    at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) 
    at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) 
    at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) 
    at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) 
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) 
    at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() 
    at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) 

我花了很多时间处理这个错误。在我看来,这不是我问题的答案。任何其他想法或建议?

+0

可以请你告诉堆栈跟踪? – Anwar

+0

@Anwar我已经提供了堆栈跟踪 – Rizowski

回答

1

似乎你的剃刀视图对你尝试使用的类UserService一无所知。请确保您已经添加在这个类是在你的视图的顶部定义的命名空间:

@using AppName.Models 
... 
@Html.Partial("Profile", new UserService()) 

或完全限定它:

@Html.Partial("Profile", new AppName.Models.UserService()) 

或将其添加到您的~/Views/web.config文件的<namespaces>节(推荐为现在这个类型将提供给所有剃刀视图):

<system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
     <namespaces> 
      <add namespace="System.Web.Mvc" /> 
      <add namespace="System.Web.Mvc.Ajax" /> 
      <add namespace="System.Web.Mvc.Html" /> 
      <add namespace="System.Web.Routing" /> 
      <add namespace="AppName.Models" /> 
     </namespaces> 
    </pages> 
</system.web.webPages.razor> 

更新:

既然您已通过邮件向我发送了VS2010解决方案,我明白您的问题所在。您的Rizowski.ServicesData.Rizowski项目都是控制台应用程序。你应该将它们转换为类库。右键点击他们每个人,并在属性改变输出方式Class Library

enter image description here

+0

我在完全合格后得到这个结果: '{“c:\\ Windows \\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ Temporary ASP.NET Files \\ root \\ 5343a94a \\ 6a35728a \\ App_Web__logonpartial.cshtml.639c3968.jonxdghm.0.cs(27):错误CS0246:无法找到类型或名称空间名称“Services”(您是否缺少using指令或程序集引用?)“}' – Rizowski

+0

@Rizowski,这个类是在单独的项目/程序集中定义的吗?您是否在ASP.NET MVC应用程序中引用了此程序集?您确定名称空间是否正确? –

+0

我有一个Service Project MVC项目,我的数据项目,他们都是相互分开的,我已经删除了引用,重新添加了引用,并且双重检查了名称,这是完全正确的。是否可以将我的Service项目称为“Service.OtherName”? – Rizowski

相关问题