【发布时间】:2011-02-15 06:39:50
【问题描述】:
所以这对我来说是一个疯狂的问题,但我没有运气谷歌搜索它。我有一个 ASP.NET MVC 2 应用程序(在 .NET 4.0 下)在本地运行得很好。当我将它上传到我的生产服务器(在共享主机下)时,我得到了
编译器错误消息:CS1061: 'System.Web.Mvc.HtmlHelper
' 没有 包含“TextBoxFor”的定义并且没有扩展方法 'TextBoxFor' 接受类型的第一个参数 'System.Web.Mvc.HtmlHelper ' 可能是 找到(您是否缺少 using 指令或程序集引用?)
对于此代码:
<%= this.Html.TextBoxFor(person => person.LastName) %>
这是 MVC 2 中新的标准扩展方法之一。所以我写了一些诊断代码:
System.Reflection.Assembly ass = System.Reflection.Assembly.GetAssembly(typeof(InputExtensions));
Response.Write("From GAC: " + ass.GlobalAssemblyCache.ToString() + "<br/>");
Response.Write("ImageRuntimeVersion: " + ass.ImageRuntimeVersion.ToString() + "<br/>");
Response.Write("Version: " + System.Diagnostics.FileVersionInfo.GetVersionInfo(ass.Location).ToString() + "<br/>");
foreach (var method in typeof(InputExtensions).GetMethods())
{
Response.Write(method.Name + "<br/>");
}
在本地运行(运行良好),我将其作为输出:
来自 GAC:是的 ImageRuntimeVersion:v2.0.50727 版本:文件:C:\Windows\assembly\GAC_MSIL\System.Web.Mvc\2.0.0.0__31bf3856ad364e35\System.Web.Mvc.dll 内部名称:System.Web.Mvc.dll 原始文件名:System.Web.Mvc.dll 文件版本: 2.0.50217.0 文件描述: System.Web.Mvc.dll 产品: Microsoft® .NET Framework ProductVersion: 2.0.50217.0 调试: False 已修补: False PreRelease: False PrivateBuild: False SpecialBuild: False 语言: Language Neutral 复选框 复选框 复选框 复选框 复选框 复选框 CheckBoxFor CheckBoxFor CheckBoxFor 隐 隐 隐 隐 隐藏的 隐藏的 隐藏的 密码 密码 密码 密码 密码为 密码为 密码为 单选按钮 单选按钮 单选按钮 单选按钮 单选按钮 单选按钮 单选按钮 单选按钮 单选按钮 文本框 文本框 文本框 文本框 文本框 文本框 文本框 字符串 等于 获取哈希码 获取类型当在生产服务器上运行时(失败),我看到:
来自 GAC:是的 ImageRuntimeVersion:v2.0.50727 版本:文件:C:\Windows\assembly\GAC_MSIL\System.Web.Mvc\2.0.0.0__31bf3856ad364e35\System.Web.Mvc.dll 内部名称:System.Web.Mvc.dll 原始文件名:System.Web.Mvc.dll 文件版本: 2.0.50217.0 文件描述: System.Web.Mvc.dll 产品: Microsoft® .NET Framework ProductVersion: 2.0.50217.0 调试: False 已修补: False PreRelease: False PrivateBuild: False SpecialBuild: False 语言: Language Neutral 复选框 复选框 复选框 复选框 复选框 复选框 隐 隐 隐 隐 隐 隐 密码 密码 密码 密码 单选按钮 单选按钮 单选按钮 单选按钮 单选按钮 单选按钮 文本框 文本框 文本框 文本框 字符串 等于 获取哈希码 获取类型请注意“TextBoxFor”不存在(因此出现错误)。
我在 csproj 中引用了 MVC:
<Reference Include="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>True</SpecificVersion>
<HintPath>References\System.Web.Mvc.dll</HintPath>
<Private>True</Private>
</Reference>
根据用户 Levi 的建议,我上传并运行了 MvcFutures 的诊断页面 - 这是看起来很无辜的输出:
Microsoft ASP.NET MVC 诊断信息 此页面旨在帮助诊断与不匹配或冲突的 ASP.NET MVC 二进制文件相关的常见错误。如果发现已知问题,它将在下方以红色文本显示。 有关 ASP.NET MVC 或此实用程序的问题或问题,请访问位于 http://forums.asp.net/1146.aspx 的 ASP.NET MVC 论坛。 环境信息 操作系统:Microsoft Windows NT 6.0.6002 Service Pack 2 .NET Framework 版本:4.0.30319.1(32 位) 网络服务器:Microsoft-IIS/7.0 集成管道:真 工作进程:w3wp.exe ASP.NET MVC 程序集信息 (System.Web.Mvc.dll) 程序集版本:ASP.NET MVC 2 RTM (2.0.50217.0) 全名:System.Web.Mvc,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35 代码库:file:///C:/Windows/assembly/GAC_MSIL/System.Web.Mvc/2.0.0.0__31bf3856ad364e35/System.Web.Mvc.dll 部署:GAC 部署 ASP.NET MVC 期货程序集信息 (Microsoft.Web.Mvc.dll) 尚未将 ASP.NET MVC Futures 程序集加载到此应用程序中。如果需要,您可以从 http://go.microsoft.com/fwlink/?LinkID=183739 下载 ASP.NET MVC 2 RTM Futures。 所有加载的程序集 加载了 50 个程序集。 * A_d509bf65_3d32_48f0_8ab6_566e289003a6,版本=0.0.0.0,文化=中性,PublicKeyToken=null * 匿名托管 DynamicMethods 程序集,版本=0.0.0.0,文化=中性,PublicKeyToken=null * App_global.asax.5qqlf9ir,版本=0.0.0.0,文化=中性,PublicKeyToken=null * App_Web_2vnklzay,版本=0.0.0.0,文化=中性,PublicKeyToken=null * App_Web_n3cjbc0f,版本=0.0.0.0,文化=中性,PublicKeyToken=null * App_Web_v3sxbd4u,版本=0.0.0.0,文化=中性,PublicKeyToken=null * DotNetPanel.IIsModules,版本=1.0.0.0,文化=中性,PublicKeyToken=37f9c58a0aa32ff0 * Microsoft.Build.Framework,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a * Microsoft.Build.Utilities.v4.0,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a * Microsoft.CSharp,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a * Microsoft.JScript,版本=10.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a * mscorlib,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * SMDiagnostics,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * 系统,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * System.Activities,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.ComponentModel.DataAnnotations,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.Configuration,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a * System.Core,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * System.Data,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * System.Data.DataSetExtensions,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * System.Data.Entity,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * System.Data.Services.Design,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * System.Design,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a * System.Drawing,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a * System.EnterpriseServices,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a * System.IdentityModel,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * System.Numerics,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * System.Runtime.Caching,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a * System.Runtime.DurableInstancing,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.Runtime.Serialization,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * System.ServiceModel,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * System.ServiceModel.Activation,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.ServiceModel.Activities,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.ServiceModel.Web,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.Transactions,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * System.Web,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a * System.Web.Abstractions,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.Web.ApplicationServices,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.Web.DynamicData,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.Web.Extensions,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.Web.Mobile,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a * System.Web.Mvc,版本=2.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.Web.RegularExpressions,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a * System.Web.Routing,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.Web.Services,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a * System.WorkflowServices,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.Xaml.Hosting,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35 * System.Xml,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * System.Xml.Linq,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089 * TheActivityTracker,版本=1.0.0.0,文化=中性,PublicKeyToken=null 诊断版本:02/16/2010 00:00:00 v7 报告生成时间:2010 年 5 月 5 日 18:12:56我只是想不出下一步该做什么。想法?
谢谢!
-迈克
【问题讨论】:
-
这个老问题,坦率地说,现在已经无关紧要了。他们不能搬到档案馆吗?还是关门了??它没有答案。污泥堵塞管道
标签: asp.net-mvc