Atribut 'targetFramework' yang tidak dikenal. Perhatikan bahwa nama atribut peka huruf besar-kecil


416

Saya mencoba memuat situs saya dan saya menerima pesan kesalahan ini:

Atribut 'targetFramework' yang tidak dikenal. Perhatikan bahwa nama atribut peka huruf besar-kecil.

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

Situs berfungsi dengan baik pada PC lokal saya tetapi tidak akan terbuka ketika saya memuatnya ke host saya dan mencoba melihatnya secara online.


Apakah itu tidak menunjukkan file mana yang berisi itu atau di mana?
Jon Skeet

2
Apakah sebelumnya dibangun di atas kerangka kerja 4.0 4.0? elegantcode.com/2009/11/10/…
Ta01

Masalah ini dapat diatasi oleh 4.0.3. Anda dapat melihat artikel KB di sini. @ saya dan beri tahu saya jika ini memperbaiki masalah Anda, saya dapat mencoba mendapatkan pertanyaan / jawaban kanonik untuk kesalahan ini dan menutup dupes. Terima kasih.

Ketika saya mencoba menginstal KB2599651 (unduhan 64-bit) pada Win 7 x64, saya mendapatkan pesan kesalahan bahwa itu "tidak berlaku atau diblokir oleh kondisi lain di komputer Anda". Saya memiliki kesalahan yang sama dengan OP, memiliki kerangka kerja 4.0 diinstal dan telah mendaftarkannya dengan IIS, dan telah memilihnya sebagai Application Pool.
Tim

Apakah Anda membuka di studio visual versi yang lebih lama daripada proyek dikembangkan? Atau dikembangkan di Webmatrix dan kemudian dibuka di studio visual yang lebih lama?
ruffrey

Jawaban:


610

Ini biasanya terjadi ketika Anda memiliki atribut targetFramework="4.0"di web.config tetapi App Pool diatur untuk menjalankan ASP.NET 2.0. The targetFrameworkatribut seluruhnya tidak dikenal oleh ASP.NET 2.0 - sehingga mengubahnya menjadi 2,0 tidak akan memiliki efek yang diinginkan.

Hubungi Dukungan / Administrator Anda dan minta AppPool beralih ke 4.0.

Anda juga dapat menghapus atribut sepenuhnya, namun jika situs Anda dikodekan dengan Kerangka 4.0, maka saya yakin sesuatu yang lain akan menyebabkan kesalahan juga.


20
Terima kasih, ini menyelesaikan masalah, periksa tautan ini untuk panduan langkah demi langkah agar AppPool Anda beralih ke 4.0: stackoverflow.com/questions/4890245/…
user1010572

terima kasih @ vcsjones..situs web saya sekarang berjalan dan berjalan hanya karena Anda .. :)
Shiva Pareek

hanya dengan menambahkan solusi @vcsjones yang mendaftar .net 4.0 mungkin juga terlewatkan. Anda dapat melakukan pendaftaran .net 4.0 menggunakan prosedur di tautan ini dan kemudian Anda perlu menambahkan kumpulan aplikasi ke 4.0.
Ram

4
Ketika saya mencari pesan kesalahan di Google, saya menemukan halaman ini, dengan pertanyaan yang indah ini dan bahkan jawaban yang lebih indah, yang saya undur beberapa bulan lalu.
Memet Olsen

81

Mendaftarkan kerangka kerja dengan IIS adalah yang berhasil bagi saya:

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

7
Ini bekerja! untuk 64bit berada di bawah C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319
Jerry Liang

1
Saya memiliki masalah yang sama, tetapi regiis tidak memperbaikinya - saya harus menghapus & membuat ulang seluruh pohon situs web dan menetapkan ulang kumpulan untuk setiap aplikasi, dan sekarang berfungsi ...
veljkoz

1
Jika ini adalah versi baru IIS (tidak ada situs lain yang menjalankannya) atau Anda tidak khawatir tentang situs yang dihosting dengan perubahan kerangka Anda bisa menggunakan -i bukannya -ir saat mendaftar.
Ram

44

Di IIS

Klik pada Pools Aplikasi

Klik kanan pada DefaultAppPool --- >> Set Default Aplikasi Pool ....--- >> Ubah .Net Versi ke V 4.0.


43

buka IIS Anda (ketik inetmgr dalam jalankan) dan ubah pengaturan Kumpulan aplikasi Anda, Untuk melihat besar Gambar ini Klik Kanan Gambar dan buka gambar di tab baru masukkan deskripsi gambar di sini


26

Dalam menu Visual Studio:

Situs web -> Opsi Mulai -> tab bangunan -> Pilih Target Framework di kotak Dropdown (.NET FrameWork 4)


atau 4,5 dalam kasus saya :)
user230910

bagaimana jika server hanya memiliki 2.0? haruskah diperlukan untuk menginstal 4.0 / 4.5 ??
Juran

@ user230910 Di mana opsi itu?
DiegoS

Saya tidak dapat mengingat dengan jelas tetapi saya pikir ini mengacu pada IIS
user230910

Bekerja dengan sempurna untuk saya MEI 2019 menggunakan aplikasi formulir web Visual Studio 2019 di AWS EC2 Windows Server 2019.
Doug Null

12

Saya menghadapi masalah yang sama saat menerbitkan layanan web pertama saya. Saya mengatasinya dengan hanya melakukan ini:

  1. Buka IIS

  2. Klik pada Pools Aplikasi

  3. Klik kanan pada DefaultAppPool => Tetapkan Application Pool Default => Ubah .Net Versi ke V 4.0. (Anda juga dapat mengubah Versi .Net Framework aplikasi Anda secara khusus)

Semoga ini berhasil.


9

untuk IIS 7 coba sesuai dengan gambar yang diberikan ... tandai saya membantu jika itu bekerja untuk Anda.

masukkan deskripsi gambar di sini


8

Saya harus mendaftarkan ASP.Net di IIS untuk menyelesaikannya di Windows Server 2008 R2. Sreenshot dari perintah bertempat di bawah

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 

masukkan deskripsi gambar di sini


5

Ubah kumpulan aplikasi ke kerangka kerja target 4.0 alih-alih klasik.

  1. Situs web RC -> kelola situs web-> pengaturan lanjutan>
  2. opsi pertama berubah dari klasik ke kerangka 4 terintegrasi.

5

Saya menggunakan IIS Express, bukan IIS.

Masalahnya ada di file applicationhost.config yang terletak di: {solution_folder} \. Vs \ config \ applicationhost.config.

Salah satu entri kumpulan aplikasi memiliki nilai managedRuntimeVersion "v2.0". Saya mengubahnya menjadi "v4.0", dan itu berfungsi dengan baik.

Saya cukup yakin bahwa root adalah salah satu paket NuGet yang saya instal baru-baru ini.

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

2
Nice- setiap posting menyebutkan IIS. Saya menggunakan IIS Express. Terima kasih atas perbaikannya
PhillyNJ

4

Buka Proyek -> tekan Shift + F4 (Buka halaman properti) -> Pilih Build -> di Target Framework memilih .NET Framework 4 -> OK


3

Buat kumpulan baru dengan memilih .Net Framework v4.0.3xxxxx

gunakan Mode Kelola Pipa: Terintegrasi

Tetapkan ke situs Anda dan selesai.


2

Untuk memperbaiki masalah ini cukup klik ikon Versi ASP.NET di bagian Alat Situs pada Panel Kontrol untuk mengalihkan kerangka kerja ke 4.0.


2

Saya mengalami kesalahan ini dari kompilasi MSBuild yang gagal , dalam file proyek yang dikonversi dari versi VS sebelumnya ke VS2010 dan .NET 4.0. Sebenarnya itu adalah proyek Penerapan Web, dan solusi yang berhasil bagi saya adalah menambahkan entri berikut ini ke bagian PropertyGroup di awal file MSBuild :

<ProductVersion>10.0.11107</ProductVersion>

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

Mungkin ini diperbarui secara otomatis ketika jenis proyek lainnya dikonversi dalam VS2010, tetapi hilang dari file proyek Penerapan Web saya setelah dikonversi.


2

Apa yang saya lakukan: Saya mengubah nilai Application Pool ke DefaultAppPool dari nilai sebelumnya. Anda melakukan ini di Pengaturan Lanjut (Situs Web -> Kelola Situs Web -> Pengaturan Lanjut>.


2

Saya juga mendapat masalah yang sama saat menjalankan aplikasi saya secara lokal yang menunjuk ke .Net Framework 4.7.1. Bugnya adalah " Atribut TargetFrameWork atribut yang tidak dikenal " seperti yang ditunjukkan di bawah ini. masukkan deskripsi gambar di sini

Tetapi tidak ada jawaban di atas yang membantu saya. Akhirnya ketika saya mengubah nomor port saya sekarang (1413) ke beberapa nilai lain (60179) seperti yang ditunjukkan di bawah ini bekerja dengan baik untuk saya. Tapi saya tidak yakin untuk alasan sebenarnya di balik ini, tetapi itu berhasil.

masukkan deskripsi gambar di sini


Saya hanya memverifikasi bahwa saya memiliki kesalahan yang tepat ini, dan saya mencoba mengubah port seperti yang ditunjukkan dalam jawaban ini. Saya menjalankan Klien Uji WCF untuk memulai layanan ini di localhost. Setelah mengubah nomor port, layanan dapat memulai. Terima kasih atas saranmu.
Evan

Setelah mencoba semua saran, hanya yang ini yang menyelesaikan masalah saya. Terima kasih banyak.
Prabo

Selamat datang di @Prabo jika memungkinkan, tolong bantu saya dengan suara UP
Rinoy Ashokan

Selamat datang di @Evan jika memungkinkan, tolong bantu saya dengan suara UP
Rinoy Ashokan

1

Baru saja ini di VS 2010.

Diperbaiki dengan mengedit file .sln dan mengubah TargetFrameworkMoniker untuk memiliki nilai ".NETFramework, Versi% 3Dv4.0" yang ditetapkan untuknya.


0

Jika Anda mengkompilasi file dan nilai "targetFramework" ditetapkan sebagai versi tertentu yaitu 4.0,

Pastikan host menjalankan .net framework seperti yang dinyatakan oleh versi yang sama.

Jika tidak, unduh kerangka kerja .net.

Setelah mengunduh, jika tidak diatur secara otomatis di manajer IIS untuk menggunakan ekstensi versi .net framework yang baru diunduh,

tambahkan ekstensi secara manual dengan membuka folder framework .net yang baru diunduh MELALUI manajer IIS:

Klik kanan folder situs web

2. buka "Properti"

3. di bawah "direktori virtual", klik "konfigurasi"

4.edit jalur ekstensi yang dapat dieksekusi ".aspx" (yang jalurnya diarahkan ke versi selain versi kerangka kerja .net yang baru diunduh) ke jalur yang benar yang merupakan folder versi yang baru saja diunduh dari kerangka kerja .net dan kemudian pilih file "aspnet_isapi.dll".

5.klik ok!


0

Hapus saja "Target Framework 4.0" dan tutup braket.

Itu akan berhasil


0

Ikuti dua langkah ini:

Daftarkan .net framework versi versi 4.0 (jika tidak terdaftar)

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

  2. Di kumpulan aplikasi, ubah .net framework ke v4.0


0

Jika Anda menginstal IIS setelah instalasi. Net FrameWork. Anda perlu menginstal .net framework lagi untuk IIS. Jadi yang perlu kita lakukan adalah menjalankan aspnet_regiis -i. Semoga bermanfaat.


0

Lihat kesalahan "Atribut tidak dikenal 'targetFramework'" di halaman 'Konsol keluaran' Jenkins di server build. Ini setelah saya mengubah 'kerangka target' untuk beberapa proyek dari '.NET Framework 3.5' menjadi '.NET Framework 4' dan melakukan perubahan saya.

Di Jenkins, pengaturan proyek harus diubah. Untuk solusinya, 'Versi MSBuild' harus diubah dari 'v3.5' ke 'v4.0'.


0

Baru saja masalah ini menyebarkan aplikasi baru ke kotak IIS lama. Penyelidikan menyebabkan v4.5.1 run-time diinstal tetapi aplikasi membutuhkan v4.5.2

Tidak ada selain menginstal versi ASP yang benar. Net run-time diperlukan.


0

Bisa jadi Anda memiliki file proj MSBUILD Anda sendiri dan menggunakan <AspNetCompiler>tugas tersebut. Dalam hal ini Anda harus menambahkan 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

Untuk layering, Cukup ubah versi targetFramework di file web.config saja, hal-hal lain tidak perlu diubah.



0

2 langkah berikut ini akan memaksa menyegarkan Visual Studio dan IIS Express cache dan biasanya menyelesaikan masalah saya yang serupa:

  1. Cukup alihkan Project framework dari 4+ ke .Net framework 3.5 dan jalankan
  2. Jika berhasil, Anda dapat mengembalikannya ke kerangka target 4+ yang Anda inginkan dan melihat bahwa itu mungkin akan berfungsi lagi.

0

Mengubah nomor port untuk pengembangan lokal membantu saya Terima kasih @Rinay Ashokan. Saya telah melakukan semua pemecahan masalah dan akhirnya menemukan bahwa konfigurasi proyek disimpan dalam IIS express untuk nomor port. masukkan deskripsi gambar di sini


-1

Bagi siapa pun yang memiliki ini yang tidak memiliki IIS berjalan pada PC dev mereka, inilah yang terjadi pada saya: Saya memiliki satu situs web pada, ditimpa dengan file dari situs web yang berbeda yang 4 sedangkan yang sebelumnya adalah 3,5. Mendapat kesalahan ini. Memperbaikinya hanya dengan mengubah nama direktori situs web, yang pada PC dev bisa apa saja, jadi tidak ada masalah. Di atas mungkin lebih elegan untuk memastikan, tetapi kadang-kadang bekerja sederhana, JIKA Anda bisa lolos begitu saja, yaitu, Anda berada di dev daripada QA atau Prod.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.