Saya bekerja pada sebuah fitur minggu yang akan menambah Penerima acara beberapa contoh daftar khusus. (Aku blogged sedikit tentang bahwa daftar penerima di sini).
Menggunakan baris perintah, Aku bisa menginstal fitur dengan tidak ada kesalahan (Tapi lihat di bawah untuk kesalahan tersembunyi). Ketika saya mencoba untuk menggunakan fitur di situs, MOSS mengeluh "FileNotFoundException" kesalahan. Blog entry ini menjelaskan bagaimana saya memecahkan itu.
Ini adalah kesalahan yang MOSS menunjukkan di peramban web:
Fitur ' b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ tidak dapat diinstal karena pemuatan acara penerima perakitan "xyzzyFeatureReceiver_0" gagal: System.IO.FileNotFoundException: Tidak dapat memuat file atau perakitan ' xyzzyFeatureReceiver_0’ atau salah satu dari dependensi. Sistem tidak dapat menemukan file yang ditentukan. Nama file: ' xyzzyFeatureReceiver_0’ di System.Reflection.Assembly.nLoad(Nama file AssemblyName, String basis kode, Bukti assemblySecurity, LocationHint Majelis, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) di System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Bukti assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) di System.Reflection.Assembly.InternalLoad(String assemblyString, Bukti assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) di System.Reflection.Assembly.Load(String assemblyString) di Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject() WRN DIMULAI: Majelis mengikat pendataan diaktifkan OFF. Mengaktifkan pengelogan kegagalan mengikat Majelis, menetapkan nilai registri [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) untuk 1. Catatan: Ada beberapa kinerja penalti yang terkait dengan Majelis mengikat kegagalan penebangan. Untuk mematikan fitur ini, menghapus nilai registry [HKLMSoftwareMicrosoftFusion!EnableLog].
Memecahkan masalah dengan Windows SharePoint Services.
|
Aku tahu bagaimana untuk sengaja menyebabkan kesalahan itu: Jangan Instal Majelis dalam GAC. Tapi, itu dalam GAC. Saya biasanya menginstal Majelis ke GAC dengan menyeretnya ke c:\windowsassembly folder menggunakan windows explorer. Aku belum pernah merasakan 100% nyaman melakukannya karena saya selalu berpikir bahwa gacutil ada karena suatu alasan … Jadi aku mencoba yang. Tidak ada bedanya.
Aku mencari Internets dan menemukan posting ini: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1
Poster yang terjadi menggunakan sedikit akar sama kode (dari buku dalam WSS dari daftar ini) Jadi itu tanda harapan. Namun, saran dari dekorasi perakitan dengan [Majelis: ] direktif tidak masuk akal bagi saya. Aku mencoba tetap dan aku benar. Tidak ada bedanya.
Lalu aku menyadari bahwa definisi kelas saya itu tidak umum. Aku berhasil publik dan yang membuat tidak ada perbedaan.
Berikutnya, Aku pergi ke kesulitan memungkinkan "Majelis mengikat kegagalan log" (mengikuti petunjuk berguna dan akurat disediakan) dan ini adalah tempat hal-hal mulai mendapatkan menarik. Log yang menunjukkan bahwa runtime sedang mencari di mana-mana pada server untuk perakitan saya. Itu bahkan tampaknya akan mencari di lemari obat saya. Tapi … itu tidak akan mencarinya di GAC.
Aku mengenakan jaket musim dingin dan pergi mencari Internets lagi dan menemukan bahwa seseorang memiliki masalah ini juga. Diskusi panjang di yang posting peters off menjadi apa-apa dan I cant menemukan solusi.
Aku pindah perakitan saya ke salah satu tempat log klaim itu sedang mencari dan aku membuat kemajuan yang lebih sedikit. Aku dihargai dengan kesalahan baru di peramban ketika saya mencoba untuk mengaktifkan fitur:
Gagal membuat objek penerima fitur dari Majelis "xyzzyFeatureReceiver_0", jenis "Conchango.xyzzyFeatureReceiver" untuk fitur b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Nilai tidak boleh null. Nama parameter: jenis di System.Activator.CreateInstance(Tipe tipe, Non-publik Boolean) di System.Activator.CreateInstance(Tipe tipe) di Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
Memecahkan masalah dengan Windows SharePoint Services.
|
Waktu untuk satu perjalanan terakhir ke Internets!
Kali ini saya menemukan, cukup diduga, MOSS bahwa isu kesalahan ini karena Majelis tidak dalam GAC.
Saya ingin mendapatkan sesuatu yang positif dari ini dan mencoba untuk merasa sedikit bangga bahwa saya telah membuat Pelarian dari menjalankan Majelis, Tapi itu tidak bekerja. Aku hanya plain kesal. Aku mendapati diriku bergumam "ayam atau telur" di bawah napas.
Saya akhirnya memutuskan untuk menyepak bola. Saya membuat sebuah proyek yang sama sekali baru dan copy/paste kode dari proyek tidak bekerja incredible-cloaked-from-the-GAC-assembly atas untuk proyek baru ini. (Saya mencari sebuah bendera membangun yang disebut sesuatu seperti "Sembunyikan dari Majelis mengikat jika dipasang di GAC" tapi tidak bisa menemukan satu).
Menginstal fitur dan mengaktifkannya dan … kerjanya! Jadi, setelah semua itu, Aku pada dasarnya ' reboot’ proyek saya. Ini adalah alasan lain mengapa aku benci komputer.
Aku belajar sesuatu yang bermanfaat dari ini. Saya telah menginstal fitur menggunakan baris perintah stsadm sepanjang hari dan telah menggunakan "-memaksa" Opsi keluar dari kebiasaan. Untuk beberapa alasan, Saya tidak menggunakan opsi Angkatan-ketika saya menginstal proyek baru. Saat ini, Aku benar-benar, benar-benar lupa untuk menyalin perakitan proyek baru ini ke dalam GAC. Akibatnya, Saya menerima bahwa "FielNotFoundException" kesalahan. Saat ini, Aku mendapatkannya dari stsadm, tidak ketika saya mencoba untuk mengaktifkan fitur melalui web browser. Jadi, -kekuatan benar-benar memainkan dua peran. Hal ini memungkinkan Anda untuk menginstal ulang sebuah fitur yang ada. Hal ini juga memungkinkan Anda untuk menginstal fitur kereta yang tidak bekerja pada saat runtime dengan menekan kesalahan. Mungkin dikatakan sebagai banyak bantuan di suatu tempat, tetapi aku tidak pernah melihatnya.
</akhir>