web-dev-qa-db-ja.com

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

私は自分のサイトをアップロードしようとしていますが、このエラーメッセージが表示されます。

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

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

このサイトは私のローカルPCでも問題なく動作しますが、ホストにロードしてオンラインで表示しようとしたときには開きません。

399
Mike Nacci

これは通常、web.configにtargetFramework="4.0"という属性があり、App PoolがASP.NET 2.0を実行するように設定されている場合に発生します。 targetFramework属性は、ASP.NET 2.0ではまったく認識されていないため、2.0に変更しても望みどおりの効果は得られません。

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

属性を完全に削除することもできますが、サイトが4.0 Frameworkでコーディングされている場合は、それ以外のものでエラーが発生することは間違いありません。

581
vcsjones

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

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

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

42
Ankit

IISで

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

DefaultAppPoolを右クリックしてください。

40

Visual Studioのメニューで

ウェブサイト - >スタートオプション - >ビルドタブ - >ドロップダウンボックスからTarget Frameworkを選択する(.NET FrameWork 4)

24
elaiyaraja

私の最初のWebサービスを公開している間、私は同じ問題に直面していました。私は単にこれをすることによってそれを解決しました:

  1. IISを開く

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

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

うまくいけば、うまくいきます。

11
Arsman Ahmad

IIS 7について与えられた絵に従って試してみてください。

enter image description here

8
gm arif

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

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 

enter image description here

8
Lijo

アプリケーションプールをclassicではなくtarget framework 4.0に変更します。

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

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>
4
NightShovel

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

4
Chưa biết

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

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

あなたのサイトに割り当てれば完了です。

3
Ali Adravi

このエラーは、以前のバージョンのVSからVS2010および.NET 4.0に変換されたプロジェクトファイルで、失敗した MSBuild compileから発生しました。それは実際にはWeb配置プロジェクトでした、そして私のために働いた解決策は MSBuild ファイルの始めに PropertyGroup セクションに以下のエントリーを追加することでした:

<ProductVersion>10.0.11107</ProductVersion>

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

他の種類のプロジェクトがVS2010で変換されると、これらは自動的に更新されますが、変換後のWeb Deploymentプロジェクトファイルには含まれていませんでした。

2
ergolargo

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

2
Sumanuski

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

2
Eldon

VS 2010でこれができました。

.slnファイルを編集し、 TargetFrameworkMoniker を変更して ".NETFramework、Version%3Dv4.0" に割り当てます。

1
Matt

アプリケーションをローカルで実行しているときにも同じ問題が発生しました。NetFramework 4.7.1を指しています。以下に示すように、バグは "認識できない属性TargetFrameWork"でした。 enter image description here

しかし、上記の答えのどれも私を助けませんでした。下の図のように、最後に現在のポート(1413)の番号をその他の値(60179)に変更したとき、うまくいきませんでした。これ、しかしそれはうまくいった。

enter image description here

1
Rinoy Ashokan

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

正しいバージョンのASP .Netランタイムのインストール以外に必要なものはありません。

0
rob

次の2つの手順では、Visual StudioとIIS Expressキャッシュを強制的に更新し、通常は私の同じような問題を解決します。

  1. プロジェクトフレームワークを4+ から.Net framework 3.5 に切り替えて実行するだけです。
  2. もし - うまく動いたなら、あなたはそれをあなたの望む4+ターゲットフレームワークに戻して、そしておそらくそれが再び働くことを見ることができます。
0
Iman Abidi

ファイルをコンパイルしたときに "targetFramework"の値が特定のバージョン、つまり4.0に設定されているとします。

ホストが述べたのと同じバージョンの.netフレームワークを実行していることを確認してください。

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

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

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

1.ウェブサイトフォルダを右クリック

2.「プロパティ」へ

3. "仮想ディレクトリ"の下にある "設定"をクリック

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

5. [OK]をクリックします。

0
Feed

あなたはあなた自身のMSBUILD projファイルを持っていて、<AspNetCompiler>タスクを使っているかもしれません。その場合は、.NET4のToolPathを追加する必要があります。

<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
intrepidis

ビルドサーバーのJenkinsの 'コンソール出力'ページにあるエラー "Unrecognized attribute 'targetFramework'"を見ました。これは、いくつかのプロジェクトの「ターゲットフレームワーク」を「.NET Framework 3.5」から「.NET Framework 4」に変更し、変更をコミットした後です。

Jenkinsでは、プロジェクト設定を変更する必要がありました。解決策として、 'MSBuildバージョン'を 'v3.5'から 'v4.0'に変更しなければなりませんでした。

0
mathijsuitmegen

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

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

0
Hector S.

階層化のために、web.configファイルのtargetFrameworkのバージョンを変更するだけで、他のものは変更する必要がありません。

0
Cheah Eng Teong

「Target Framework 4.0」を削除して括弧を閉じるだけです。

それが動作します

0
Vignesh

.Net FrameWorkのインストール後にIISをインストールした場合。 IIS用に.netフレームワークを再度インストールする必要があります。だから私たちがする必要があるのはaspnet_regiis -iを実行することだけです。それが役に立つことを願っています。

0
Joe.wang

次の2つのステップに従ってください。

.net framework version version 4.0を登録します(登録されていない場合)。

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

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

0
SharpCoder