我有一台运行IIS Express 7.5且安装了.NET 3.5和.NET 4.0的Windows 2003服务器。服务器上的站点已经使用版本2.0应用程序池很长一段时间了。我们希望使用4.0版应用程序池。作为概念验证,我将项目转换为.NET 4.0并开始在IIS Express中托管。这是我的applicationhost.config文件中的sites部分:
<sites>
<site name="ShopServer80" id="1" serverAutoStart="true">
.
.
.
<application path="/Old2.0Application">
<virtualDirectory path="/" physicalPath="c:\WhereMyProjectLives"/>
</application>
.
.
.
</site>
<siteDefaults>
<logFile logFormat="W3C" enabled="false" directory="%IIS_USER_HOME%\Logs"/>
<traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="false" maxLogFileSizeKB="1024"/>
</siteDefaults>
<applicationDefaults applicationPool="Clr2IntegratedAppPool"/>
<virtualDirectoryDefaults allowSubDirConfig="true"/>
</sites>
我想只列出一个应用程序并使用Clr4IntegratedAppPool
并让所有其他应用程序仍然使用Clr2IntegrationAppPool
,因此我添加了属性applicationPool
:
<application path="/New4.0Application" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="c:\WhereMyProjectLives"/>
</application>
此时,我收到BadImageFormatException
:无法加载文件或程序集“ProjectName”或其中一个依赖项。此程序集由比当前加载的运行时更新的运行时构建,无法加载。。现在,我正在为应用程序指定Clr4IntegratedAppPool
应用程序池,是否应该解决该问题?加载的运行时应该是4.0,对吗?