web-dev-qa-db-ja.com

web.configのtargetFrameworkに関連する構成エラー

Visual Studio 2015でMVC Webサイトを作成しましたが、ローカルホストで機能します。しかし、私が自分のウェブサイトを公開してホストに入れたとき、それは機能しません。このエラー通知が表示されます:

「/」アプリケーションのサーバーエラー。

構成エラー

パーサーエラーメッセージ:Web.configファイルの要素の 'targetFramework'属性は、バージョン4.0以降の.NET Frameworkを対象とするためにのみ使用されます(たとえば、 '')。 「targetFramework」属性は現在、インストールされている.NET Frameworkのバージョンより新しいバージョンを参照しています。 .NET Frameworkの有効なターゲットバージョンを指定するか、必要なバージョンの.NET Frameworkをインストールします。

ソースエラー:

サーバーでアプリケーションエラーが発生しました。このアプリケーションの現在のカスタムエラー設定は、アプリケーションエラーの詳細がリモートで表示されるのを防ぎます(セキュリティ上の理由から)。ただし、ローカルサーバーマシンで実行されているブラウザで表示できます。

ソースファイル:G:\ xxx\xxx.com\httpdocs\web.config行:24

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

私のweb.configの関連部分:

  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  <!-- For more information on Entity Framework configuration, visit http://go.Microsoft.com/fwlink/?LinkID=237468 --></configSections>

エラーのあるこの部分:

  <system.web>
    <authentication mode="None" />
    <customErrors mode="Off" />
    <compilation debug="true" targetFramework="4.6" />
    <httpRuntime targetFramework="4.6" />
  </system.web>

私のウェブサイトのプロパティ:

enter image description here

NuGetパッケージマネージャー:

enter image description here

EntityFramework参照プロパティ:

enter image description here

デフォルトのWebサイトの基本設定:(正直なところ、ここに新しいWebサイト(私のWebサイト)を追加する必要があるかどうかわかりません。)

enter image description here

私がインストールした.netフレームワーク:

enter image description here

私の公開方法:

enter image description here

私はインターネットでこの問題を調査しましたが、私の問題に関連するいくつかのリンクを見つけました: Asp.net MCV4 framework issue 。このリンクには、2つの主なオファーがあります。

  1. このコンパイルタグを変更する

  2. iISのアプリケーションプールの更新

実際、このタグを変更しようとしましたが、変更はされていません。その後、アプリケーションプールを制御しましたが、最新のようです。

enter image description here

ホストプロバイダーに電話し、問題を説明しました。彼らは、このエラーは彼らのサーバーに関連していないと言います。

私は何をすべきか?これに対する解決策は何ですか?

32
rockenpeace

Webサイトプロジェクトは.Net Framework v4.6をターゲットにしていますが、ホスティングプロバイダーはこのバージョンをまだインストールしていません。あなたのオプション:

  1. プロバイダーにインストールを依頼してください-彼らはこれを行うことはほとんどありません。
  2. それをサポートする別のプロバイダーを探します。
  3. プロジェクトをターゲットv4.5に変更します。
45
DavidG

@DavidGはすべてのことを正しく指摘しています。情報側では、IISがプロバイダーである場合、Web Platform Installerは、現在マシンにすべてインストールされているものの現在の状態を確認する最善の方法です。以下のスナップショットをご覧ください-

enter image description here

不足しているものをすべて確認することは本当に便利で、ワンクリックで不足しているすべての部品のインストールを開始できます。

8
RBT

KB 3205402のインストール(Windowsの更新)後に同様の問題が発生しました。

私の場合との大きな違い:アプリケーションは更新前にうまく機能しました!

==>「IISマネージャー」、「ISAPIおよびCGIの制限」で、フレームワークASP.NET v4.0.30319が「無許可」に切り替えられたことがわかりました。

「認証済み」に切り替えると問題が解決しました

2
Didier68

私が変更され:

<system.web>
    <compilation debug="true" targetFramework="4.7" />
    <httpRuntime targetFramework="4.7" />
    <customErrors mode="Off"/>
  </system.web>

<system.web>
     <compilation debug="true" targetFramework="4.5" />
     <httpRuntime targetFramework="4.5" />
     <customErrors mode="Off"/>
</system.web>

つまり、targetFrameworkの値を4.7から4.5(サーバーでサポートされているもの)に変更しました。そして働いた。

0
Zeeshan

今日、これを解決することなく何度も繰り返しました。イライラして、ついに自分のドライブから作業コピーを削除し、SVNから再チェックアウトしました。

一定。

特に賢い答えではありませんが、それは私にとってそれを修正しました。実際の問題が何であるかは分かりません。

0
delliottg