認識されない属性「targetFramework」。属性名は大文字と小文字が区別されることに注意してください


416

私のサイトをアップロードしようとすると、次のエラーメッセージが表示されます。

認識されない属性「targetFramework」。属性名は大文字と小文字が区別されることに注意してください。

<compilation debug="true" targetFramework="4.0">

ローカルPCではサイトは正常に動作しますが、ホストにロードしてオンラインで表示しようとしたときに開きません。


どのファイルにそれが含まれているか、またはどこに含まれているかは表示されませんか?
Jon Skeet、2011

2
以前に4.0以前のフレームワークで構築されていましたか?elegantcode.com/2009/11/10/...
TA01

この問題は4.0.3で解決される可能性があります。 こちらのKB記事をご覧ください。 @私と、これで問題が解決したかどうかをお知らせください。このエラーの標準的な質問と回答を取得して、まやかしにしようとする場合があります。ありがとう。

Windows 7 x64にKB2599651(64ビットダウンロード)をインストールしようとすると、「コンピューターに適用されないか、別の条件によってブロックされている」というエラーメッセージが表示されます。OPと同じエラーが発生し、フレームワーク4.0がインストールされ、IISに登録されており、アプリケーションプールとして選択しました。
Tim

プロジェクトが開発されたバージョンよりも古いバージョンのビジュアルスタジオで開きましたか?それともWebmatrixで開発されてから、古いビジュアルスタジオで開かれたのですか?
ラフリー2013

回答:


610

これは通常targetFramework="4.0"、web.configにの属性があるが、アプリプールがASP.NET 2.0を実行するように設定されている場合に発生します。このtargetFramework属性はASP.NET 2.0では完全に認識されないため、2.0に変更しても期待した効果が得られません。

サポート/管理者に連絡し、AppPoolを4.0に切り替えてください。

属性を完全に削除することもできますが、サイトが4.0フレームワークでコーディングされている場合は、他の何かがエラーを引き起こすと確信しています。


20
:おかげで、これはあなたのアプリケーションプールが4.0に切り替え持つようにステップバイステップガイドのために、このリンクをチェックし、問題を解決しstackoverflow.com/questions/4890245/...
user1010572

おかげで@vcsjones ..私のウェブサイトはあなたのおかげで今稼働しています。:)
Shiva Pareek

@vcsjonesソリューションに追加するだけで、.net 4.0の登録も見逃される可能性があります。このリンクの手順を使用して.net 4.0登録を行うことができます。その後、アプリケーションプールを4.0に変更する必要があります。
Ram

4
エラーメッセージをグーグルで検索したところ、このページが見つかりました。この美しい質問と、さらに美しい答えがあり、何ヶ月も前にすでに賛成しています。
Memet Olsen 14

81

フレームワークをIISに登録することが私にとってうまくいきました:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i

7
これでうまくいきます!64ビットの場合、C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319の下にあります
Jerry Liang

1
私は同じ問題を抱えていましたが、レジスはそれを修正しませんでした。Webサイトツリー全体をドロップして再作成し、各アプリにプールを再割り当てする必要がありました。今では機能します...
veljkoz

1
これがIISの最新バージョン(他のサイトが実行されていない)である場合、またはホストされているサイトがフレームワークの変更で破損することを心配していない場合は、登録時に-irの代わりに-iを使用できます。
Ram

44

IIS内

アプリケーションプールをクリックします

DefaultAppPoolを右クリック--- >>アプリケーションプールのデフォルトを設定......---。NetバージョンをV 4.0に変更します。


43

IISを開き(実行時にinetmgrと入力)、アプリケーションプールの設定を変更します。この画像を大きく表示するには、画像を右クリックして新しいタブで画像を開きます ここに画像の説明を入力してください


26

Visual Studioメニュー:

ウェブサイト->スタートオプション->ビルドタブ->ドロップダウンボックスでターゲットフレームワークを選択(.NET FrameWork 4)


または私の場合は4.5 :)
user230910

サーバーに2.0しかない場合はどうなりますか?4.0 / 4.5をインストールする必要がありますか?
ジュラン、2016年

@ user230910そのオプションはどこにありますか?
DiegoS 2017年

はっきり覚えていませんが、これはIISに関するものだと思います
user230910

2019年AWS EC2のWindows Server上のVisual Studio 2019のWebフォームアプリケーションを使用して、私MAY 2019のために働いて完璧
ダグ・ヌル

12

最初のWebサービスを公開しているときにも同じ問題に直面していました。私はこれを単に行うことで解決しました:

  1. IISを開く

  2. アプリケーションプールをクリックします

  3. DefaultAppPoolを右クリック=>アプリケーションプールのデフォルトを設定=> .NetバージョンをV 4.0に変更します。(アプリケーションの.Net Frameworkバージョンを具体的に変更することもできます)

うまくいくと思います。


9

IIS 7の場合は、指定された画像に従って試してください。それが機能する場合は、私を参考にしてください。

ここに画像の説明を入力してください


8

Windows Server 2008 R2でASP.Netを解決するには、IISにASP.Netを登録する必要がありました。以下に添付されているコマンドのスクリーンショット

cd /d C:\Windows\Microsoft.NET\Framework\v4.0.30319

iisreset /stop

aspnet_regiis -i

iisreset /start

%systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll'].allowed:True 

%systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll'].allowed:True 

ここに画像の説明を入力してください


5

アプリケーションプールを、クラシックではなくターゲットフレームワーク4.0に変更します。

  1. RCのWebサイト-> Webサイトの管理->詳細設定>
  2. 最初のオプションは、クラシックからフレームワーク4に統合されました。

5

IISではなくIIS Expressを使用しています。

問題は、{solution_folder} \。vs \ config \ applicationhost.configにあるapplicationhost.configファイルにありました。

アプリケーションプールエントリの1つにmanagedRuntimeVersion値「v2.0」がありました。「v4.0」に変更しましたが、正常に動作しました。

根本的な原因は、最近インストールしたNuGetパッケージの1つであると確信しています。

    <system.applicationHost>
       <applicationPools>
          <add name="BadAppPool1" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
       </applicationPools>
    </system.applicationHost>

2
すべての投稿でIISについて言及しました。IIS Expressを使用していました。修正のためのThx
PhillyNJ 2018

4

プロジェクトを開く -> Shift + F4を押します(プロパティページを開く)-> ビルドを選択 -> ターゲットフレームワークで.NET Framework 4を選択-> OK


3

.Net Framework v4.0.3xxxxxを選択して新しいプールを作成します

パイプラインの管理モードを使用する:統合

それをサイトに割り当てて完了です。


2

この問題を解決するには、コントロールパネルの[サイトツール]セクションの[ASP.NETバージョン]アイコンをクリックして、フレームワークを4.0に切り替えます。


2

以前のバージョンのVSからVS2010および.NET 4.0に変換されたプロジェクトファイルで、失敗したMSBuildコンパイルからこのエラーが発生しました。これは実際にはWeb配置プロジェクトであり、私にとって効果的な解決策は、MSBuildファイルの先頭にあるPropertyGroupセクションに次のエントリを追加することでした。

<ProductVersion>10.0.11107</ProductVersion>

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

VS2010で他のタイプのプロジェクトが変換されると、これらは自動的に更新される可能性がありますが、変換後にWeb配置プロジェクトファイルから欠落していました。


2

私がしたこと:アプリケーションプールの値を以前の値からDefaultAppPoolに変更しました。これは、詳細設定(Webサイト-> Webサイトの管理->詳細設定>)で行います。


2

.Net Framework 4.7.1を指しているアプリケーションをローカルで実行しているときにも同じ問題が発生しました。以下に示すように、バグは「認識されない属性TargetFrameWork」でした。 ここに画像の説明を入力してください

しかし、上記の答えのどれも私を助けませんでした。最後に、現在のポート(1413)の番号を他の値(60179)に変更すると、以下のように問題なく動作しましたが、実際の理由はわかりませんが、動作しました。

ここに画像の説明を入力してください


私はこの正確なエラーが発生したことを確認しているだけであり、この回答に示されているようにポートを単に変更してみました。WCFテストクライアントを実行して、localhostでこのサービスを開始しています。ポート番号を変更した後、サービスを開始できました。提案ありがとう。
エヴァン

すべての提案を試した後、これだけで問題が解決しました。どうもありがとうございます。
プラボ

歓迎の@プラボ可能であればplsが賛成票を投じてくれます
Rinoy Ashokan

歓迎の@エヴァン、可能であればplsが賛成票を投じてくれます
Rinoy Ashokan

1

VS 2010でこれが発生しました。

.slnファイルを編集し、TargetFrameworkMonikerを変更して値「.NETFramework、Version%3Dv4.0」が割り当てられるように修正しました。


0

ファイルをコンパイルし、「targetFramework」の値が特定のバージョン、つまり4.0として設定されている場合、

ホストが.netフレームワークを実行していることを確認してください。

そうでない場合は、.netフレームワークをダウンロードしてください。

ダウンロード後、IISマネージャーで.netフレームワークの新しくダウンロードされたバージョンの拡張機能を使用するように自動的に設定されていない場合は、

IISマネージャーを介して、最近ダウンロードした.netフレームワークのフォルダーに移動して、拡張子を手動で追加します。

1. webサイトフォルダーを右クリック

2.「プロパティ」に移動します

3.「仮想ディレクトリ」の下の「構成」をクリックします

4.拡張子「.aspx」の実行可能パス(最近ダウンロードした.netフレームワークのバージョン以外のバージョンを指すパス)を、新しくダウンロードしたバージョンの.netフレームワークのフォルダーである正しいパスに編集します。 「aspnet_isapi.dll」ファイルを選択します。

5.OKをクリック!



0

次の2つの手順に従います。

.netフレームワークバージョンバージョン4.0を登録します(登録されていない場合)。

  1. C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319> aspnet_regiis -i

  2. アプリプールで.netフレームワークをv4.0に変更します


0

.Net FrameWorkのインストール後にIISをインストールする場合。IISの.netフレームワークを再度インストールする必要があります。したがって、実行する必要があるのは実行することだけですaspnet_regiis -i。お役に立てば幸いです。


0

ビルドサーバー上のJenkinsの[コンソール出力]ページに「認識できない属性 'targetFramework'」というエラーが表示されました。これは、いくつかのプロジェクトの「ターゲットフレームワーク」を「.NET Framework 3.5」から「.NET Framework 4」に変更し、変更をコミットした後です。

Jenkinsでは、プロジェクト設定を変更する必要がありました。このソリューションでは、「MSBuildバージョン」を「v3.5」から「v4.0」に変更する必要がありました。


0

新しいアプリを古いIISボックスにデプロイするこの問題が発生しました。調査の結果、v4.5.1ランタイムがインストールされましたが、アプリにはv4.5.2が必要です

ASP .Netランタイムの正しいバージョンをインストールする以外は何も必要ありませんでした。


0

独自のMSBUILD projファイルがあり、<AspNetCompiler>タスクを使用している可能性があります。その場合はToolPath、.NET4 を追加する必要があります。

<AspNetCompiler
    VirtualPath="/MyFacade"
    PhysicalPath="$(MSBuildProjectDirectory)\MyFacade\"
    TargetPath="$(MSBuildProjectDirectory)\Release\MyFacade"
    Updateable="true"
    Force="true"
    Debug="false"
    Clean="true"
    ToolPath="C:\Windows\Microsoft.NET\Framework\v4.0.30319\">      
</AspNetCompiler>

0

レイヤー化の場合は、web.configファイル内のtargetFrameworkのバージョンを変更するだけで、その他の変更は必要ありません。


0

私は同じ問題を抱えていましたが、すべてのアプリプールを同時に更新するこの素晴らしいスクリプトスクリプトを見つけました:https ://gallery.technet.microsoft.com/scriptcenter/How-to-set-the-IIS-9c295a20

$IISAppPoolDotNetVersion = "v4.0"変数は必ず上部に設定してください。


0

次の2つの手順を実行すると、Visual StudioとIIS Expressのキャッシュが強制的に更新され、通常は同様の問題が解決されます。

  1. プロジェクトフレームワークを4+ から.Net Framework 3.5に切り替えて実行するだけです
  2. 正常に実行された場合は、目的の4以上のターゲットフレームワークに戻し、おそらく再び機能することを確認できます。

0

ローカル開発用のポート番号を変更すると、@ Rinay Ashokanに役立ちました。すべてのトラブルシューティングを実行しましたが、最終的に、プロジェクト構成がポート番号のIISエクスプレスに格納されていることがわかりました。 ここに画像の説明を入力してください


-1

開発PCでIISを実行していない人がいる場合、私に起こったことは次のとおりです。このエラーが発生しました。Webサイトのディレクトリ名を変更するだけで修正されました。開発用PCでは何でもかまいません。問題はありません。確かに上記はおそらくよりエレガントですが、簡単に動作する場合もあります。問題がなければ、QAやProdではなくdevを使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.