IIS6中给Framework2,。0站点的虚拟目录(2.0版本)下发布Web API项目(4.0版本)问题处理

Web-API项目以虚拟目录形式部署到IIS6/IIS7

若原有站点为Framework2.0版本,在此站点(或虚拟目录站点)下,新增API虚拟目录,然后选择Framework4.0版本,IIS6和IIS7配置有所不同。

IIS6配置:

1)        在主站A中的web.config中,添加<location>节点,要包住<system.web>

和<system.codedom>,节点内容如下:

<location path="." allowOverride="true" inheritInChildApplications="false">

2)         在主站A中的web.config中,删除sectionGroup的“system.web.extensions”、“scriptResourceHandler”、“jsonSerialization”、“profileService”、“authenticationService”、“roleService”的节点;(因为子站中的引用配置与主站重复了。)

3)         虚拟目录转成应用程序:

4)         在IIS中,添加MVC的解析:

5)         以上便完成配置;

IIS7配置:

1)         按照IIS6上面的配置进行,省略第4步骤。

2)         api站点选择“集成模式”

遇到的问题解决方法:

1.

 

解决方式:webconfig配置文件中的<configuration>节点内增加如下配置文件

<system.codedom>    
  <compilers>      
   <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">         
     <providerOption name="CompilerVersion" value="v4.0"/>         
     <providerOption name="WarnAsError" value="false"/>    
   </compiler>       
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">       
   <providerOption name="CompilerVersion" value="v4.0"/>       
   <providerOption name="OptionInfer" value="true"/>       
   <providerOption name="WarnAsError" value="false"/>      
   </compiler>   
   </compilers> 
 </system.codedom>
原文地址:https://www.cnblogs.com/stevenjson/p/7048946.html