2

環境:

Windows Server 2008 R2 エンタープライズ エディション IIS 7.5.7600.26385

問題: 現在 ASP.Net バージョン 2.0 を実行している既存の Web サイトがあり、ASP.Net 4.0 に移行したいと考えています。私は Visual Studio を持っていないので、単に「アップグレード ウィザード」を使用してこのタスクを実行することはできません。これが私がこれまでに試したことです:

IIS で:

  1. 新しいアプリケーション プール名「aspnet_v40」を作成し、ASP.Net 4.0 (統合) を使用するように構成します。
  2. ウェブサイトを停止する
  3. Web サイトを新しいアプリケーション プール (“aspnet_v40”) に変更します。
  4. Web サイトの [.Net Compile] オプションをクリックします。IIS は次のエラーを表示します: この操作を実行中にエラーが発生しました \Windows\Microsoft.Net\Framework64\v4.0.30319\config\web.config 行 #141 エラー: 認識できない要素 ' folderLevelBuildProviders'

サーバーにログインしたら、aspnet_regiis プログラムを使用して、インストールされている ASP.Net のバージョンを一覧表示し、確認します (すべてのディレクトリから同じ回答が得られると思っていましたが、以下が報告されます)。

C:\Windows\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -lv

2.0.50727.0 C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll

4.0.30319.0 c:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll

2.0.50727.0 C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll

4.0.30319.0 c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

C:\Windows\Microsoft.NET\Framework64\v2.0.50727>aspnet_regiis -lv

2.0.50727.0 C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll

4.0.30319.0 c:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll

2.0.50727.0 C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll

4.0.30319.0 c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -lv

2.0.50727.0 C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll

4.0.30319.0 c:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll

4.0.30319.0 c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -lv

2.0.50727.0 C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll

4.0.30319.0 c:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll

4.0.30319.0 c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

明らかに、私が見逃している手順があります:

  1. 「認識されない要素 'folderLevelBuildProviders'」エラーを取り除く方法。
  2. 2.0 から 4.0 に移行するために必要な手順 (コマンド) は何ですか (つまり、web.config の新しい要素または変更された要素??)

Visual Studio なしで 2.0 から 4.0 にアップグレードするためのステップバイステップ ガイドを持っている人はいますか? または、そのようなガイドへのリンクを持っている人はいますか??

前もって感謝します!

4

1 に答える 1

3

わかりました-最終的に機能するようになりました。以下は魔法です。

appcmd.exe を使用して確認し、構成されている isapiFilters を一覧表示します。

C:\Windows\System32\inetsrv>appcmd.exe list config -section:system.webServer/isapiFilters

<system.webServer>
  <isapiFilters>
    <filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64" />
    <filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32" />
  </isapiFilters>
</system.webServer>

上記は、バージョン 4.0 フィルターが存在しないことを示しているため、次を発行します。

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -iru

Start installing ASP.NET (4.0.30319).
....Finished installing ASP.NET (4.0.30319).

バージョン 4.0 が存在することを確認します。

C:\Windows\System32\inetsrv>appcmd.exe list config -section:system.webServer/isapiFilters

<filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" />
<filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" />
<filter name="ASP.Net_2.0_for_V1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" />
<filter name="ASP.Net_4.0_64bit" path="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv4.0,bitness64" />
<filter name="ASP.Net_4.0_32bit" path="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv4.0,bitness32" />

次に、サイトをバージョン 2.0 から 4.0 に更新します。

  1. バージョン 4.0 を使用するアプリケーション プールを作成します。必要に応じて、[32 ビット アプリケーションを有効にする] オプションを true に設定してください。

  2. Web サイトのアップグレードを停止します。

  3. Web サイトを右クリック -> Web サイトの管理… -> 詳細設定

  4. 「アプリケーション プール」を手順 1 で作成したバージョン 4.0 のアプリケーション プールに変更します。[OK] -> [OK] をクリックします。

  5. [.Net Compilation] オプションをクリックし、[Assemblies] セクションでバージョン 4.0 が使用されていることを確認します。

  6. 4.0 フレームワークを使用して Web サイトの DLL を再コンパイルし、/bin ディレクトリに配置します。

  7. Web 一時ディレクトリ (一時 asp.net ファイルを保持するため) 内のすべてのファイル/フォルダーを削除します。削除しないと、Web サイトの起動時にアクセス拒否エラーが表示されます。

  8. Web サイトを右クリック -> Web サイトの管理 -> 開始

  9. すべてのページをテストします。

上記は私のために働いた。

于 2013-01-13T23:51:20.700 に答える