2012-01-16 18 views
2

私はIIS 7でよく動作するASP.NET 3.5のWebサイトを持っています。私はこのWebサイトサーバーに.NET 4.0をインストールしました。今、私はこのWebサイトにAsp.Net 4.0 AppPoolで仮想ディレクトリ(Yes、私はこれをアプリケーションに変換)を追加しました。この仮想ディレクトリにアクセスすると、私は得るASP.NET 3.5 Webサイトのサブフォルダ下にASP.NET MVC 3アプリケーションを展開する

There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler' section defined 

なぜこの仮想ディレクトリアプリケーションは、ルートWebサイトのweb.configを使用しようとしていますか?

+1

これは、IIS上での設定のしくみです。各レベルはそのレベルから継承します。それはあなたが本当にあなたがしようとしていることをすることができるかどうかについてのヒントを与えるはずです... –

+0

このアプリケーションの配備方法を教えていただけますか?私は新しいウェブサイトを作成する必要がありますか? – user960567

+0

私はちょうどinheritInChildApplicationsを見つけました。これを確認する – user960567

答えて

1

@BNLは、私がthisサイトからの回答を引用しています言ったように、

ステップ1(7 IISのみ7.5をIIS)

この手順はのみIIS 7またはを実行し、オペレーティング・システムに必要ですWindows Vista、Windows Server 2008、Windows 7、およびWindows Server 2008 R2を含むIIS 7.5。

親アプリケーション(ASP.NET 2.0またはASP.NET 3.5を実行するアプリケーション)のWeb.configファイルのconfigSections定義を、.NET Framework 2.0のルートWeb.configファイルに移動します。 IIS 7およびIIS 7.5のネイティブ構成システムは、構成ファイルの階層をマージするときにconfigSections要素をスキャンします。 configSections定義を親WebアプリケーションのWeb.configファイルからルートWeb.configファイルに移動すると、子ASP.NET 4アプリケーションで発生する構成マージプロセスから要素が効果的に隠されます。 32ビットオペレーティングシステムまたは32ビットアプリケーションプールの

は、ASP.NET 2.0とASP.NET 3.5のルートのWeb.configファイルは、通常次のフォルダに配置されている:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG 

あなたは両方実行する場合

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG 

:64ビットオペレーティングシステムまたは64ビットアプリケーションプールのために、ASP.NET 2.0とASP.NET 3.5のルートのWeb.configファイルは通常、以下のフォルダにあります。 64ビットコンピュータ上の32ビットおよび64ビットWebアプリケーションを使用する場合は、configSections要素をrに移動する必要があります32ビットシステムと64ビットシステムのWeb.configファイルがありません。

ルートWeb.configファイルにconfigSections要素を配置するときは、構成要素の直後にセクションを貼り付けます。次の例は、要素の移動が完了したときにルートWeb.configファイルの上部がどのように表示されるかを示しています。

注次の例では、読みやすくするために改行を入れています。

<?xml version="1.0" encoding="utf-8"?> 
<!-- The root web configuration file --> 
<configuration> 
    <configSections> 
    <sectionGroup name="system.web.extensions" 
     type="System.Web.Configuration.SystemWebExtensionsSectionGroup, 
     System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
     PublicKeyToken=31BF3856AD364E35"> 

     <sectionGroup name="scripting" 
     type="System.Web.Configuration.ScriptingSectionGroup, 
     System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
     PublicKeyToken=31BF3856AD364E35"> 

     <section name="scriptResourceHandler" 
      type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, 
      System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
      PublicKeyToken=31BF3856AD364E35" requirePermission="false" 
      allowDefinition="MachineToApplication" /> 

     <sectionGroup name="webServices" 
      type="System.Web.Configuration.ScriptingWebServicesSectionGroup, 
      System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
      PublicKeyToken=31BF3856AD364E35"> 

      <section name="jsonSerialization" 
      type="System.Web.Configuration.ScriptingJsonSerializationSection, 
      System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
      PublicKeyToken=31BF3856AD364E35" requirePermission="false" 
      allowDefinition="Everywhere" /> 

      <section name="profileService" 
      type="System.Web.Configuration.ScriptingProfileServiceSection, 
      System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
      PublicKeyToken=31BF3856AD364E35" requirePermission="false" 
      allowDefinition="MachineToApplication" /> 
      <section name="authenticationService" 
      type="System.Web.Configuration.ScriptingAuthenticationServiceSection, 
      System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
      PublicKeyToken=31BF3856AD364E35" requirePermission="false" 
      allowDefinition="MachineToApplication" /> 

      <section name="roleService" 
      type="System.Web.Configuration.ScriptingRoleServiceSection, 
      System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
      PublicKeyToken=31BF3856AD364E35" requirePermission="false" 
      allowDefinition="MachineToApplication" /> 

     </sectionGroup> 
     </sectionGroup> 
    </sectionGroup> 
    </configSections> 

ステップ2(IISのすべてのバージョン)

この工程は、ASP.NET 4子Webアプリケーションは、IIS 6またはIIS 7(またはIIS 7.5)上で実行されているかどうかが要求されます。

ASP.NET 2またはASP.NET 3.5を実行している親WebアプリケーションのWeb.configファイルに、(IISおよびASP.NET構成システムの両方に対して)構成が明示的に指定される場所タグを追加しますエントリは親Webアプリケーションにのみ適用されます。次の例では、位置要素の構文を追加する例を示します。

<location path="" inheritInChildApplications="false" > 

次の例では、場所タグがのappSettingsセクションで始まりシステムで終わるすべての構成セクションをラップするために使用される方法を示しています。 WebServerセクション。

<location path="" inheritInChildApplications="false" > 

あなたがステップ1と2を完了している、子ASP.NET 4 Webアプリケーションエラーなしで起動します。

関連する問題