按照这个文来
http://www.cnblogs.com/yeminglong/archive/2012/05/11/2496348.html
配置完之后,这样子报错了,
未能加载类型“C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi
百度也找不到这个的解决方案,所以来这里求助各位大侠,到底要如何配置mvc2的
我的系统是:window 2008 阿里云服务器
mvc2是vs2010默认mvc的开发的发布的
iis是iis7的
我的分不多了,
iis 7 运行mvc 不需要特殊配置,你看到的文章 我觉得本身就有问题,那个配置属于iis6 上需要配置后缀名映射到 .net 的isapi, iis7 上.net 是 iis 的一部分,已经不需要做那个映射了,(除非他使用的mvc不是微软的mvc)。
你的问题,先要确定你的mvc 是哪个.net 版本开发的,vs2010 自带的mvc2 应该是.net4 你用.net2 肯定不能运行。
还有就是 如果你是先安装的.net 后安装的 iis ,需要手动将.net4 注册到 iis
ASP.NET MVC 2是2.0的
@ATATA: 你先使用 aspnet_regiis -i 手动注册一下.net4 到iis,
看清楚,你用的.net 4,不管mvc2,3,4,5 你的.net 版本都是4.
其它设置:.net 程序池使用集成模式, 64系统使用和你程序相同位数的 .net。
@fishcats: 下面是我的配置文件,如果是使用.net 4.0运行,就出错了,我百度过,我使用的真的是2.0的,虽然我是使用vs2010,然后我的目标框架要求是.net3.5,所以我开发的时候大部份引用的dll也只是3.5的,mvc的是2.0的
1 <?xml version="1.0"?> 2 <!-- 3 有关如何配置 ASP.NET 应用程序的详细信息,请访问 4 A564A3E6EFA0136999EB7CCBB0BB3D53 5 02CDC2D8D7E5CAC594FBAB26D89E2572 6 http://go.microsoft.com/fwlink/?LinkId=152368 7 --> 8 <configuration> 9 <configSections> 10 <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 11 <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 12 <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> 13 <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 14 <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/> 15 <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> 16 <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> 17 <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> 18 </sectionGroup> 19 </sectionGroup> 20 </sectionGroup> 21 </configSections> 22 <appSettings> 23 <add key="RemoteList" value="02CDC2D8D7E5CAC594FBAB26D89E2572"/> 24 <add key="Port" value="44B944FEB0D7BDDD"/> 25 <add key="SqlRemote" value="02CDC2D8D7E5CAC594FBAB26D89E2572"/> 26 <add key="SqlDataBase" value="EB9E01B94ED6D31391584B32200AE274"/> 27 <add key="SqlUser" value="DE3E85E309C0F12A"/> 28 <add key="SqlPassword" value="61C42ECCD1B3FAD9E09E2BA6E329618B"/> 29 <add key="SqlLogRemote" value="02CDC2D8D7E5CAC594FBAB26D89E2572"/> 30 <add key="SqlLogDataBase" value="EB9E01B94ED6D31391584B32200AE274"/> 31 <add key="SqlLogUser" value="DE3E85E309C0F12A"/> 32 <add key="SqlLogPassword" value="61C42ECCD1B3FAD9E09E2BA6E329618B"/> 33 </appSettings> 34 <connectionStrings> 35 <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/> 36 </connectionStrings> 37 <system.runtime.remoting> 38 <application> 39 <channels> 40 <channel type="Belikov.GenuineChannels.GenuineTcp.GenuineTcpChannel, GenuineChannels" MaxTimeSpanToReconnect="3000"> 41 </channel> 42 </channels> 43 <lifetime leaseTime="0" sponsorshipTimeOut="1M" renewOnCallTime="1M" pollTime="0"/> 44 </application> 45 </system.runtime.remoting> 46 <system.web> 47 <compilation debug="true"> 48 <assemblies> 49 <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 50 <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 51 <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 52 <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 53 <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 54 <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 55 <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 56 </assemblies> 57 </compilation> 58 <authentication mode="Forms"> 59 <forms loginUrl="~/Account/LogOn" timeout="2880"/> 60 </authentication> 61 <membership> 62 <providers> 63 <clear/> 64 <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/> 65 </providers> 66 </membership> 67 <profile> 68 <providers> 69 <clear/> 70 <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/> 71 </providers> 72 </profile> 73 <roleManager enabled="false"> 74 <providers> 75 <clear/> 76 <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/"/> 77 <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/> 78 </providers> 79 </roleManager> 80 <pages validateRequest="false" 81 pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, 82 PublicKeyToken=31BF3856AD364E35" 83 pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" 84 userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, 85 PublicKeyToken=31BF3856AD364E35" > 86 <namespaces> 87 <add namespace="System.Web.Mvc"/> 88 <add namespace="System.Web.Mvc.Ajax"/> 89 <add namespace="System.Web.Mvc.Html"/> 90 <add namespace="System.Web.Routing"/> 91 </namespaces> 92 <controls> 93 <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 94 <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 95 </controls> 96 </pages> 97 <httpHandlers> 98 <remove verb="*" path="*.asmx"/> 99 <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 100 <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 101 <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 102 </httpHandlers> 103 <httpModules> 104 <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 105 <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 106 </httpModules> 107 </system.web> 108 <system.webServer> 109 <validation validateIntegratedModeConfiguration="false"/> 110 <modules runAllManagedModulesForAllRequests="true"> 111 <remove name="UrlRoutingModule"/> 112 <remove name="ScriptModule"/> 113 <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 114 <add name="UrlRoutingModule" preCondition="" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 115 </modules> 116 <handlers> 117 <remove name="UrlRoutingHandler"/> 118 <remove name="WebServiceHandlerFactory-Integrated"/> 119 <remove name="ScriptHandlerFactory"/> 120 <remove name="ScriptHandlerFactoryAppServices"/> 121 <remove name="ScriptResource"/> 122 <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 123 <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 124 <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 125 <add name="UrlRoutingHandler" verb="*" path="UrlRouting.axd" preCondition="integratedMode" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 126 </handlers> 127 </system.webServer> 128 <runtime> 129 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 130 <dependentAssembly> 131 <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/> 132 <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/> 133 </dependentAssembly> 134 </assemblyBinding> 135 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" appliesTo="v2.0.50727"> 136 <dependentAssembly> 137 <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/> 138 <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> 139 </dependentAssembly> 140 <dependentAssembly> 141 <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/> 142 <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> 143 </dependentAssembly> 144 </assemblyBinding> 145 </runtime> 146 <system.codedom> 147 <compilers> 148 <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4"> 149 <providerOption name="CompilerVersion" value="v3.5"/> 150 <providerOption name="WarnAsError" value="false"/> 151 </compiler> 152 </compilers> 153 </system.codedom> 154 </configuration>
@ATATA: 项目右键属性:目标框架.net4,
如果你非要用3.5 你要确定你 安装了.net 3.5完整包。
@fishcats: 我使用的外部dll不能使用4.0啊,mvc3.0我没有装
@ATATA: 一般来说微软的.net 和 java 一样 , 不用的的类、函数不会在后面的版本废除,只是标记已过时 不建议使用,但还是可以使用。所以.net2,3.5 里的东西理论上都能在.net4 下面运行,只不过可能要改一些配置,一个.net应用程序里的所有dll 也不要求必须是同一个.net版本, 如果你的外部dll 非要.net3.5 ,又不能通过配置来改变,那我也没辙了。
我不知道你为什么.net 使用的3.5的,vs2010默认的mvc2 都是.net4; .net4 和 .net 3.5 虽然都能运行mvc2 但是2个的运行机制是不一样的。
运行mvc web程序需要iis+对应版本的.net 不需要安装任何版本mvc.
@fishcats: 嗯谢谢你呀,对了还有一点,我在iis6里面配置按mvc的来配置就可以,iis7就不行
@ATATA:
如果你说的是你看的那篇文章的 文件名映射, 你可以把iis7 的应用程序池 的集成模式 改成 经典模式试试。
如果是集成管道模式 不需要配置文件名映射,只需要routeconfig 里面有对应的路由映射就可以了。
@fishcats: 不用了,现在变成iis6的来使用好了~谢谢你啊
1. cd到“c:\Windows\Microsoft.NET\Framework\v2.0.50727\”目录
2. 执行aspnet_regiis -i
试过了,执行提示安装完毕了,运行还是一样的错误呢