C# ';System.Web.WebPages.Html.HtmlHelper';不包含';ActionLink
首先-我搜索了这么多,发现很多问题都问同样的问题,只是简单地添加了C# ';System.Web.WebPages.Html.HtmlHelper';不包含';ActionLink,c#,asp.net,asp.net-mvc,razor,C#,Asp.net,Asp.net Mvc,Razor,首先-我搜索了这么多,发现很多问题都问同样的问题,只是简单地添加了 我已经将MVC升级到版本5,将webApi升级到版本2,以便与解决方案中的其他项目保持一致 现在,在SPA站点的_布局页面中,我尝试使用@Html.ActionLink帮助程序,尽管不断得到错误“System.Web.WebPages.Html.HtmlHelper”不包含“ActionLink 我确信这都是由于一些web.config配置造成的——我安装的软件包与模板中的配置之间存在某种冲突 特别是,本部分: <syst
我已经将MVC升级到版本5,将webApi升级到版本2,以便与解决方案中的其他项目保持一致
现在,在SPA站点的_布局页面中,我尝试使用@Html.ActionLink
帮助程序,尽管不断得到错误“System.Web.WebPages.Html.HtmlHelper”不包含“ActionLink
我确信这都是由于一些web.config配置造成的——我安装的软件包与模板中的配置之间存在某种冲突
特别是,本部分:
<system.web.webPages.razor>
<host factoryType="System.Web.WebPages.Razor.WebRazorHostFactory, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.WebPages.WebPage">
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
</namespaces>
</pages>
</system.web.webPages.razor>
您是否尝试过清理解决方案,删除位于的临时ASP.NET文件
C:\WINDOWS\Microsoft.NET\Framework\v4.xxxx\ASP.NET临时文件
和重建?我刚刚安装了Visual Studio 2013的更新2,我的问题消失了。我正在使用VS 2013 Pro更新2。这就是我的工作原理:
关闭Visual Studio
删除bin和obj文件夹
重新打开解决方案并重建
视图上不再有错误
顺便说一句,不需要对配置文件进行任何更改,简单的清理和重建解决方案不起作用。我正在处理VS 2015,我解决了这个问题
您需要检查Views/Web.Config文件。如果配置文件不存在,您可以复制另一个项目。在需要更改上的命名空间之后
-----**Views/Web.Config**---------
-----**Views/Web.Config**---------
如果您有配置文件,只需检查名称空间名称。,packages.config文件中的所有内容都匹配吗?在配置的“运行时”部分,您可以尝试添加以将旧版本的assemply更改为新的添加到哪个dependentAssembly?-一切看起来都很匹配,尽管现在看起来都很模糊——已经盯着它看了几个小时了。。这是我在config的runtime部分下用来确保正在使用assemply的完整代码。几周前,我在从Web API 1到Web API 2的升级过程中遇到了类似的问题,这就解决了问题。@Dan您的解决方案不适用于区域内的视图。我在web.config中添加了“runtime”部分,用于该区域的视图,但没有成功。有什么想法吗?这对我在VS 2012上有效,还删除了ASP.NET临时文件。我在这件事上浪费了2个小时。最后删除了bin、obj和voila。解决方案构建并运行良好。
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
Assembly Load Trace: The following information can be helpful to determine why the assembly 'System.Web.WebPages.Razor, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' could not be loaded.
=== Pre-bind state information ===
LOG: DisplayName = System.Web.WebPages.Razor, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///D:/Development/IS/IS/IS.TransactionDesk.SPA/
LOG: Initial PrivatePath = D:\Development\IS\IS\IS.TransactionDesk.SPA\bin
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: D:\Development\IS\IS\IS.TransactionDesk.SPA\web.config
LOG: Using host configuration file: C:\Users\Darren\Documents\IISExpress\config\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: System.Web.WebPages.Razor, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
LOG: Attempting download of new URL file:///C:/Users/Darren/AppData/Local/Temp/Temporary ASP.NET Files/root/3407d437/8e7ba9a/System.Web.WebPages.Razor.DLL.
LOG: Attempting download of new URL file:///C:/Users/Darren/AppData/Local/Temp/Temporary ASP.NET Files/root/3407d437/8e7ba9a/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL.
LOG: Attempting download of new URL file:///D:/Development/IS/IS/IS.TransactionDesk.SPA/bin/System.Web.WebPages.Razor.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Major Version
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
Stack Trace:
[FileLoadException: Could not load file or assembly 'System.Web.WebPages.Razor, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) +0
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName) +70
System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark) +39
System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +37
System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +65
System.Web.WebPages.Razor.WebRazorHostFactory.DefaultTypeFactory(String typeName) +39
System.Web.WebPages.Razor.WebRazorHostFactory.CreateFactory(String typeName) +67
System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) +72
System.Web.WebPages.Razor.WebRazorHostFactory.CreateHostFromConfigCore(RazorWebSectionGroup config, String virtualPath, String physicalPath) +313
System.Web.WebPages.Razor.WebRazorHostFactory.CreateHostFromConfig(String virtualPath, String physicalPath) +228
System.Web.WebPages.Razor.WebRazorHostFactory.CreateHostFromConfig(String virtualPath) +38
System.Web.WebPages.Razor.RazorBuildProvider.GetHostFromConfig() +51
System.Web.WebPages.Razor.RazorBuildProvider.CreateHost() +57
System.Web.WebPages.Razor.RazorBuildProvider.get_Host() +56
System.Web.WebPages.Razor.RazorBuildProvider.EnsureGeneratedCode() +77
System.Web.WebPages.Razor.RazorBuildProvider.get_CodeCompilerType() +54
System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider) +59
System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() +209
System.Web.Compilation.BuildProvidersCompiler.PerformBuild() +30
System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) +9881909
System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) +299
System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) +103
System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) +165
System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp) +43
System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(String virtualPath, Type requiredBaseType) +28
System.Web.WebPages.BuildManagerWrapper.CreateInstanceOfType(String virtualPath) +343
System.Web.WebPages.VirtualPathFactoryExtensions.CreateInstance(IVirtualPathFactory factory, String virtualPath) +236
System.Web.WebPages.VirtualPathFactoryManager.CreateInstanceOfType(String virtualPath) +261
System.Web.WebPages.VirtualPathFactoryExtensions.CreateInstance(IVirtualPathFactory factory, String virtualPath) +132
System.Web.WebPages.WebPageHttpHandler.CreateFromVirtualPath(String virtualPath, IVirtualPathFactory virtualPathFactory) +58
System.Web.WebPages.WebPageHttpHandler.CreateFromVirtualPath(String virtualPath) +59
IS.TransactionDesk.SPA.Routing.DefaultRouteHandler.GetHttpHandler(RequestContext requestContext) in d:\Development\IS\IS\IS.TransactionDesk.SPA\Routing\DefaultRouteHandler.cs:42
System.Web.Routing.UrlRoutingModule.PostResolveRequestCache(HttpContextBase context) +9598252
System.Web.Routing.UrlRoutingModule.OnApplicationPostResolveRequestCache(Object sender, EventArgs e) +82
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +136
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
<add namespace="YourProjectName" />
</namespaces>