.NET 3.5 および .NET 4.0 がインストールされた IIS Express 7.5 を実行している Windows 2003 サーバーを使用しています。サーバー上のサイトは、かなり長い間バージョン 2.0 のアプリケーション プールを使用していました。バージョン 4.0 のアプリ プールを使用したいと考えています。概念実証として、プロジェクトを .NET 4.0 に変換し、IIS Express でのホストを開始しました。これは、私の applicationhost.config ファイルのサイト セクションです。
<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>
リストされた 1 つのアプリケーションだけを使用して を使用しClr4IntegratedAppPool
、他のすべてのアプリケーションでは引き続き を使用Clr2IntegrationAppPool
したいので、属性を追加しましたapplicationPool
。
<application path="/New4.0Application" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="c:\WhereMyProjectLives"/>
</application>
この時点で、ファイルまたはアセンブリ 'ProjectName' またはその依存関係の 1 つを読み込めませんでしたBadImageFormatException
。このアセンブリは、現在読み込まれているランタイムよりも新しいランタイムによってビルドされているため、読み込むことができません。. Clr4IntegratedAppPool
アプリケーションのアプリケーション プールを指定している今、その問題は解決されるべきではないでしょうか? ロードされたランタイムは 4.0 のはずですよね?