IIS 7の.NETフレームワーク1.1
-
12-10-2019 - |
質問
Windows Server 2008でIIS 7でホストする必要がある.NETフレームワーク1.1 Webサイトを継承しました。問題があります。
1.インストール
.NETフレームワーク1.1フォローをインストールしました これらの指示.
インストールは、新しいアプリケーションプール「ASP.NET 1.1」を自動的に作成しました。私はそれを使用します。
2.トラブル
Webサイトを起動すると、web.configランタイムエラーが表示されます。
タグには、「文化」属性の無効な値が含まれています。
私はそれを修正してから、次のことを確認します。
子ノードは許可されていません。
私はこの強打ゲームをプレイし続けたくありません。 何かが間違っているに違いありません。
3.これは.NET 1.1だと確信していますか?
自動的に作成されたアプリケーションプールを調べます。私はそれが1.1であることがわかります。
高度な設定...
基本設定...
これは正しくないようです。
1.1が設定されていますが、高度なドロップダウンセレクターのオプションではありません。
そして、なぜ基本ボックスには「V1.1」ではなく、「.NET Framework v1.1.4322」ではないのですか?それはより一貫性があります。
4.他の.NET 1.1アプリプールを作成することはできません
他のアプリケーションプールに対して.NETフレームワーク1.1を選択することはできません。ドロップダウンセレクターのオプションではありません。どうしたの?
今何?
- V1.1がすべてのAppPoolsのオプションではないのはなぜですか?
- アプリケーションが実際に.NETフレームワーク1.1を使用していることを確認するにはどうすればよいですか?
- なぜこれらのランタイムエラーを取得できるのですか?
解決
アプリケーションが1.1で実行されているかどうかを調べるための迅速なファイヤー方法は、環境バージョンを表示する速いスクリプトをノックアップすることです。
<%@ Page Language="C#" %>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
Response.Write(System.Environment.Version.ToString());
}
</script>
または、黄色の死のスクリーンを取得している場合は、ページの下部にバージョン番号が表示されます。
フレームワークを選択できない理由を疑っています v1.1 新しいアプリケーションプールを追加したり、既存のアプリケーションプールを変更したりする場合、1.1インストーラーが重要なメタデータまたは設定情報をIISに追加する方法を知らないことです。
.NET 2.0は2008年に出荷され、.NET 4.0は後の製品であるため、IIS7フレンドリーであるため、IISの統合が優れている可能性があります。または、V1.1には、IIS7のINETMGRがこれをさまざまなリストに追加できる必要があるメタデータの重要なナゲットがありません。
ASP.NET 1.1プールのドロップダウンリストにV1.1が表示される理由 基本設定 他のプールではなく対話は、すでに設定されており、リストに含まれているためです。私はこれを新しく作成したASP.NET 1.1プールで実験して変更し、2.0に設定し、保存してから再開しました。その結果、V1.1はもう見えません。
さらに、それがV1.1と呼ばれていない理由 .NETフレームワークv1.1.4322 値がから取り上げられているからです managedRuntimeVersion
アプリプール構成の属性 applicationHost.config
. 。バージョン2.0と4.0が完全な説明を示している理由は、おそらく1.1には存在しないリソース文字列が見上げられているIISに優しいメタデータがいくつかあるからです。
作成時にv1.1を使用するようにプールを設定するには、手動で設定する必要があります managedRuntimeVersion
属性を使用します APPCMD.EXE
:
appcmd add apppool /name:"NewPool" /managedRuntimeVersion:"v1.1"
これは、リンクした記事の下部で説明されています。
既存のプールを変更して1.1を使用するには、コマンドラインも使用する必要があります APPCMD.EXE
道具:
appcmd set apppool /apppool.name:"SomeOtherPool" /managedRuntimeVersion:"v1.1"
興味深いことに、設定できます managedRuntimeVersion
古い価値に:
ASP.NET 1.1アプリケーションプールが魔法のように作成される理由、またはインストーラーがハンドラーマッピングで正しいことを行う方法を説明できればいいのにと思います(どういうわけかすべて正しい preConditions
設定されているため、インストーラーが更新されたか、IISには1.1がインストールされて修正されている1.1を探すための何らかのトリガーがあります)。
アップデート:
この記事の著者であるビル・ステープルズに連絡しました。
1.1インストーラーまたはIIS7がハンドラーマッピングに関して正しいことを行う方法について、「ASP.NET 1.1」アプリケーションプールなどを作成する方法について彼に尋ねました。これは彼の返事でした:
「メモリが提供される場合、Vista/Windows 2008には、1.1インストーラーを検出し、アプリプールの作成/ハンドラーマッピングを行うアプリケーション互換性シムが作成されました。ただし、Windows 7/Windows Server 2008 R2では、.NETフレームワーク1.1はいいえです。より長くサポートされており、このコードがプルされても驚かないでしょうが、確かにわかりません。」
だから謎は解決した。
他のヒント
古い.NET 1.1をインストールしようとしている間、同じ問題に遭遇しました。 win2k8/iis7について。最終的に、すべてを.NET 2.0にぶつけるだけで簡単かつ迅速であることがわかりました。同じことをお勧めします。
コードが何かエキゾチックなことをしていない限り、合理的に大規模なプロジェクトのために、ポーティングプロセスを1日以内に実行できます。
Windows 2008には.NET 1.1がインストールされていません。あなたはできる .NET 1.1を手動でインストールします.