7

Web サイトをサーバーにアップロードしました。ローカルでは完全に動作しますが、アップロードした後、オンライン バージョンでは次のように表示されます。

構成エラーの説明: 構成中にエラーが発生しました
この要求を処理するために必要な構成ファイルの処理。
以下の特定のエラーの詳細を確認し、
構成ファイルを適切に。

 パーサー エラー メッセージ: 属性 'targetFramework' を認識できません。ノート
属性名は大文字と小文字が区別されます。

ソース エラー:



37 行目: </buildProviders>
38行目: </compilation>
39 行目: <httpRuntime targetFramework="4.0"
EncoderType="System.Web.Security.AntiXss.AntiXssEncoder, System.Web,
バージョン=4.0.0.0、文化=ニュートラル、PublicKeyToken=b03f5f7f11d50a3a" />
40 行目: <machineKey compatibilityMode="Framework45" />
41行目: </system.web>


 ソース ファイル: D:\HostingSpaces\o\o.com.au\wwwroot\web.config 行:
39


-------------------------------------------------- ------------------------------
バージョン情報: Microsoft .NET Framework バージョン:4.0.30319;
ASP.NET バージョン:4.0.30319.272

このサイトの他の回答によると、サーバーのアカウントが .NET Framework 2.0 を使用するように設定されているためです。しかし、私の場合はそうではありません.4.0に設定されていることを確認し、4.0統合も試しました. しかし、それでもこのエラーが表示されます。

何が原因でしょうか? どうすれば修正できますか?

ここに画像の説明を入力

4

4 に答える 4

18

アプリケーションは ASP.NET 4.5 の新しい機能 (特に<httpRuntime>および<machineKey>要素を参照) を使用しようとしていますが、サーバーには ASP.NET 4.0 しかありません。問題を解決するには、Web.config から要素<httpRuntime>と要素を削除します。<machineKey>

(おもしろい事実: この<httpRuntime/targetFramework>属性は 4.5 まで存在しませんでした。そのため、値が「4.0」と表示されていても、サーバーはこの属性をまったく予期していないため、まだ失敗しています。)

于 2012-08-22T00:02:50.333 に答える
10

この問題は、IIS に移動して [アプリケーション プール] をクリックし、バージョンを 4.0 (統合) (サイトを実行しているバージョン) に設定することで解決できます。受け入れられた答えは、HttpRunTime/targetFrameWork> は 4.5 まで存在しないと言います。これは正しくありません。参考までに、これはHttpRuntime V2 Docです。TargetFrameWorkはバージョン 4 の新機能です。

OPの質問の問題は、サイトの.NETバージョンを4に設定したが、リモートサーバーでは2.0が実行されていたため、エラーが発生したことです。その場合、彼はリモートサーバーを制御できないため(仮定)、.NETバージョンをローカルで2.0に変更すると、web.configをいじらずに問題が解決します。

于 2014-01-14T21:57:37.323 に答える
0

私の場合、これはサーバーに ASP.NET 4 がないこととは関係ありませんでした。私のサーバーはロードバランサー上にあり、Web サイトのファイルは分散ファイル システム上にあります。有効なユーザーとパスワードを使用して DFS に接続する必要がありました。これが完了すると、エラーは表示されなくなりました。ただし、この問題が発生している場合は、最初に他の解決策を確認してください。このエラーが表示された場合、10 分の 9 の確率で、NET Framework がサーバー上にないか、アプリケーション プールに指定されていない可能性があります。

于 2014-11-12T19:36:57.143 に答える