Saya mendapatkan kesalahan ini karena proyek saya tidak dapat menemukan referensi untuk OWIN
kelas startup. Saya bahkan telah menginstal semua paket referensi OWIN melalui Nuget masih mendapatkan masalah yang sama. Saya menggunakan Visual Studio 2012
dan MVC4
.
Kesalahan berikut terjadi saat mencoba memuat aplikasi.
- Tidak ditemukan unit yang mengandung OwinStartupAttribute.
- Tidak ada perakitan yang ditemukan mengandung kelas Startup atau [AssemblyName] .Startup. Untuk menonaktifkan penemuan startup OWIN, tambahkan appSetting owin: AutomaticAppStartup dengan nilai "false" di web.config Anda. Untuk menentukan Rakitan, Kelas, atau Metode startup OWIN, tambahkan pengaturanOwin: AppStartup dengan kelas startup yang lengkap atau nama metode konfigurasi di web.config Anda.
c#
asp.net-mvc-4
visual-studio-2012
owin
Krunal Patil
sumber
sumber
Startup.cs
proyek?OwinStartupAttribute
? Apakah perakitan AndaStartup
atau[AssemblyName].Startup
kelas? Sudahkah Anda menonaktifkan penemuan startup OWIN, dengan menambahkan pengaturan aplikasiowin:AutomaticAppStartup
dengan nilai "false" di web.config Anda? Pernahkah Anda melakukan salah satu dari hal-hal ini dan bertanya-tanya mengapa itu tidak berhasil? Apa pertanyaan Anda?Jawaban:
Buat Satu Kelas Dengan Nama Startup ini akan membantu Anda ..
sumber
<appSettings>
area seperti:<add key="owin:AppStartup" value="[NameSpace].Startup" />
[assembly:OwinStartupAttribute(typeof(Identity_Test.Startup))]
ke dalamAssemblyInfo.cs
akan bekerja juga.[assembly: OwinStartup(typeof([YourStartupNamespaceName].Startup))]
Dalam proyek kami, kami tidak memerlukan fungsionalitas OWIN, jadi kami menghapus semua referensi owin dari proyek template ASP.NET MVC awal. Masalah terjadi setelah menghapus kelas startup OWIN.
Masalahnya adalah dll owin ekstra di folder bin saya. Ketika saya menghapusnya, masalahnya teratasi. Anda harus menghapusnya dengan menghapus folder tempat sampah. Clean Solution tidak menghapus dll ini.
Entah bagaimana, IIS masih mengeksekusi OWIN dll ketika mereka berada di folder bin.
sumber
<add key="owin:AutomaticAppStartup" value="false"/>
sebagai pengaturan aplikasi. Hanya beberapa saran untuk orang yang mencoba ini dan itu masih belum berhasil.Pada Visual Studio 2013 RC2, ada template untuk ini. Cukup tambahkan ke folder App_Start.
Templat menghasilkan kelas seperti itu:
sumber
Jika Anda tidak ingin menggunakan startup OWIN, inilah yang harus Anda tambahkan ke file web.config Anda :
Di bawah AppSettings tambahkan baris berikut:
Ini akan terlihat seperti di web.config Anda:
sumber
Coba lihat
Startup.cs
file tersebut, Anda mungkin kehilangan salah satu dari ini. File ini adalah titik masuk untuk OWIN, jadi sepertinya ini tidak ada. Lihatlah diOWIN Startup class
sini untuk memahami apa yang sedang terjadi.Saat kesalahan Anda menentukan, Anda dapat menonaktifkan ini di web.config dengan melakukan hal berikut ...
sumber
<add key="owin:AutomaticAppStartup" value="false" />
ke<appSettings>
grup dan Startup.cs tidak lagi diperlukan.<add key="owin:AutomaticAppStartup" value="false" />
dilakukan? Apakah ini akan menonaktifkan fungsionalitas apa pun? Apakah kita perlu memulai aplikasi nanti untuk dapat menggunakan fungsionalitas OWIN?Pertama, Anda harus membuat file startup Anda dan setelah Anda harus menentukan lokasi file ini di web.config, di dalam tag appSettings dengan baris ini:
<add key="owin:AppStartup" value="[NameSpace].Startup"/>
Itu memecahkan masalah saya.
sumber
Saya punya masalah ini, mengerti ini bukan apa yang salah dalam kasus OP, tetapi dalam kasus saya saya memang memiliki kelas Startup, hanya saja tidak menemukannya secara default.
Masalah saya adalah saya memiliki spasi di Nama Majelis saya, dan karenanya namespace default berbeda dari nama assembly, maka namespace untuk kelas startup berbeda dari nama assembly.
Seperti yang disarankan oleh kesalahan, berdasarkan konvensi ini mencari [Nama Majelis]. Mulai untuk kelas ... jadi pastikan namespace untuk kelas Startup Anda sama dengan nama Majelis. Memperbaiki masalah untuk saya.
sumber
Saya mencoba sebagian besar perbaikan yang disarankan di sini, dan masih tidak dapat menghindari pesan kesalahan. Saya akhirnya melakukan kombinasi beberapa solusi yang disarankan:
Menambahkan entri ini ke bagian atas web.config
AppSettings
saya :<add key="owin:AutomaticAppStartup" value="false"/>
Memperluas simpul Referensi proyek saya dan menghapus semua yang berisi string
OWIN
. (Saya merasa aman melakukannya karena organisasi saya bukan (dan tidak akan) penyedia OWIN aktif di masa depan)Saya kemudian mengklik
Run
dan beranda saya dimuat.sumber
Dalam kasus saya, saya telah mengganti nama proyek dan mengubah struktur foldernya. Saya menemukan bahwa memperbarui RootNameSpace dan AssemblyName dalam file .csproj di mana kesalahan dilemparkan menyelesaikan kesalahan. Jika Anda telah memodifikasi jalur proyek Anda, saya sarankan untuk memeriksa ini juga.
sumber
Kasus saya? Saya punya file startup, tetapi tidak termasuk dalam proyek. Saya baru saja memasukkannya dan kesalahannya hilang.
sumber
Ini bisa dihadapi di Visual Studio 2015 juga ketika Anda menggunakan Azure AD dengan proyek MVC. Di sini ia membuat file startup sebagai Startup.Auth.cs di folder App_Start tetapi itu akan hilang
Jadi, tambahkan dan Anda harus siap. Ini berjalan sebelum namespace mulai.
sumber
Dimungkinkan juga untuk mendapatkan pengecualian ini (bahkan ketika Anda memiliki kelas startup yang dikonfigurasi dengan benar) jika dijalankan melalui IIS Express dan direktori virtual Anda tidak dikonfigurasi dengan benar.
Ketika saya mengalami masalah ini, resolusinya adalah dengan menekan tombol 'Buat Direktori Virtual' di tab 'Web' dari properti proyek (Menggunakan Visual Studio 2013)
sumber
Apakah Anda benar-benar mencoba menambahkan OWIN ke proyek Anda atau ini sesuatu yang tidak terduga?
Jika Anda ingin menambahkan OWIN, menambahkan kelas Startup adalah caranya.
Jika Anda tidak memerlukan referensi ke Owin :
hapus Owin.dll dari folder / bin Anda .
Owin.dll adalah yang mencoba mengidentifikasi kelas Startup.
sumber
Meskipun saya tidak dapat sepenuhnya menjelaskan mengapa ini memecahkan masalah bagi saya, saya mengalami masalah seperti ini setelah saya mengubah proyek API saya untuk dibuat menjadi folder
\debug
dan terpisah\release
. Setelah saya mengembalikan perubahan itu untuk membangun ke satu\bin
folder hal-hal mulai bekerja.Saya menulis pengalaman saya di sini: Tidak dapat menjalankan kelas OWIN Startup di IIS Express setelah mengganti nama file proyek ASP.NET
sumber
Saya mengalami masalah ini setelah bereksperimen dengan SignalR dan kemudian mengeluarkannya dari proyek. Untuk menyelesaikannya saya harus menghapus isi folder bin untuk situs di server jauh dan kemudian menerbitkan lagi.
sumber
Cukup periksa apakah
packages.config
file Anda dicentang (ketika dikecualikan, akan ada simbol larangan masuk berwarna merah yang ditampilkan di penjelajah). Untuk beberapa alasan aneh, tambang saya dikecualikan dan menyebabkan masalah ini.sumber
Saya terus mendapatkan kesalahan yang sama ketika saya memulai proyek saya menggunakan Dashboard Tautan Browser di VS2013. Tetapi, ketika saya menjalankan proyek saya dalam mode debug, itu akan berhasil. Saya tidak tahu mengapa dan bagaimana cara membuat Dasbor Tautan Browser berfungsi. Saya memeriksa file startup, tidak apa-apa, menambahkan baris appSetting seperti yang dijelaskan dalam beberapa jawaban "", tetapi tidak ada yang berhasil.
Rupanya, yang saya lakukan salah adalah mengklik tautan SALAH di Dasbor Peramban. Semua tautan proyek Solusi ditampilkan di Dasbor Peramban, tetapi hanya tautan proyek startup yang berfungsi. Anda perlu mengklik tautan proyek startup.
Contoh: Saya memiliki 2 proyek, keduanya ditampilkan di Dasbor Peramban, tetapi hanya yang ditandai sebagai proyek start up yang akan berfungsi (ditampilkan dengan huruf tebal di Solution Explorer.) Saya pikir ini dapat membantu seseorang melakukan yang jelas, harganya 2 hari untuk tersandung pada yang sudah jelas.
sumber
Saya memiliki masalah ini ketika saya mendapatkan yang terbaru tentang TFS sementara proyek lain terbuka dalam beberapa contoh VS. Saya sudah memiliki semua perbaikan di atas. Membuka kembali VS memperbaiki masalah.
sumber
Dalam kasus saya, saya masuk ke server ftp. Mengambil cadangan file saat ini di server ftp. Hapus semua file secara manual dari server ftp. Solusi bersih, pekerjakan ulang kode. Itu berhasil.
sumber