Sorunun çözümü: “FileNotFoundException” Benim özellik alıcısı ile.

Bazı olay alıcıları belirli liste örneğine eklemek istiyorum bir özellik geçen hafta üzerinde çalışıyordu. (Ben biraz bu liste alıcı hakkında blogged).

Komut satırını kullanarak, I-ebil install özelliği ile herhangi bir hata (Ama gizli hata için aşağıya bakın). Ne zaman özelliği site dağıtmak için çalıştı, MOSS "FileNotFoundException şikayet etti." hata. Nasıl o münhal bu blog girişi açıklar.

Bu yosun gösterdi bana web tarayıcısında hatanın olduğunu:

Özellik ' b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ Çünkü yüklü değil olay alıcısı derlemesi "xyzzyFeatureReceiver_0 yükleme" başarısız oldu: System.IO.FileNotFoundException: Dosya veya derleme yüklenemedi ' xyzzyFeatureReceiver_0’ ya da bağımlılıklarından biri. Sistem belirtilen dosyayı bulamıyor.
Dosya adı: ' xyzzyFeatureReceiver_0’
System.Reflection.Assembly.nLoad(AssemblyName dosya adı, Dize kod tabanı, Kanıt assemblySecurity, Meclis locationHint, StackCrawlMark& stackMark, Boole throwOnFileNotFound, Boole forIntrospection)
System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Kanıt assemblySecurity, StackCrawlMark& stackMark, Boole forIntrospection)
System.Reflection.Assembly.InternalLoad(Dize assemblyString, Kanıt assemblySecurity, StackCrawlMark& stackMark, Boole forIntrospection)
System.Reflection.Assembly.Load(Dize assemblyString)
Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
UYR: Derleme bağlama günlüğü açık kapalı.
Derleme bağlama hatası günlük kaydını etkinleştirmek için, kayıt defteri değerini ayarla [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) Hedef 1.
Not: Derleme bağlama hatası günlük ile ilişkili bazı performans ceza.
Bu özelliği devre dışı bırakmak için, kayıt defteri değerini kaldırın [HKLMSoftwareMicrosoftFusion!EnableLog].

Windows SharePoint Services ile ilgili sorunları giderme.

Kasıtlı olarak bu hata neden bilmek.: derlemenin GAC'de yüklemeyin. Ama, GAC içerisinde yapıldı. Ben normalde GAC c sürükleyerek derlemelerinin:\windowsassembly klasörü Windows Gezgini'ni kullanarak. Hiç bir şey hissetmedim 100% Çünkü her zaman o gacutil rahat yapıyor bir sebebi var … çok denedim. Bu hiçbir fark yarattı.

Aramak belgili tanımlık enterne ve kurmak bu posta: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

Poster aynı kök bit kod kullanmaya oldu. (Bu listeden WSS içindeki defterinden) Yani o umut dolu bir işaretti. Ancak, derleme ile dekorasyon önerisi bir [derleme: ] yönergesi bana mantıklı gelmiyordu. Yine de denedim ve ben haklıydım. Bu hiçbir fark yarattı.

O zaman benim sınıf tanımının genel değildi fark. Ben kamuoyuna ve bu fark etti.

Sonraki, "Derleme bağlama hatası günlük etkinleştirme zahmetine girdim" (yararlı ve doğru yönergeleri izleyerek sağlanan) ve şeyler ilginç almaya başladığı yer. Bu günlük çalışma zamanı bu sunucudaki benim derleme için her yerde arıyor gösterir. Hatta bunun için benim ecza dolabında arama görünüyor. Ama … Bu GAC'de aramak olmayacak.

Ben benim kış ceket koymak ve Internets yeniden aramayı gidin ve birileri de bu sorunu olmuştur bulmak. Hiçbir şey bu nakil uzun tartışmada peters ve ı cant'bulmak a eriyik.

Onu arıyor ve ben biraz daha fazla ilerleme günlük iddia yerlerden biri benim derleme taşımak. Özelliği etkinleştirmeye çalıştığınızda tarayıcıda yeni bir hata ile ödüllendirilir:

"XyzzyFeatureReceiver_0" derlemesinden özelliği alıcı nesnesi oluşturulamadı, "Conchango.xyzzyFeatureReceiver yazın" özelliği b2cb42e3-4f0a-4380-aaba-1ef9cd526f20 için: System.ArgumentNullException: Değer null olamaz.
Parametre adı: türü
System.Activator.CreateInstance(Türü türü, Boole nonPublic)
System.Activator.CreateInstance(Türü türü)
Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

Windows SharePoint Services ile ilgili sorunları giderme.

Bir son yolculuk için Internets için zaman!

Bu sefer ben bulmak, tahmin edilebileceği gibi yeterince, derlemenin GAC'de olmadığından MOSS bu hata sorunları.

Bundan olumlu bir şeyler ve ben oluşturduk biraz gurur hissetmeye denemek istiyorum. Kaçak MSIL derlemeleri, Ama onun'değil çalışma. Sadece düz rahatsız değilim. Kendimi "tavuk veya yumurta mırıldanıp bulmak" Nefesimi altında.

Sonunda kumar oynamak karar. Ben tamamen yeni bir proje oluşturmak ve bu yeni proje için incredible-cloaked-from-the-GAC-assembly çalışma dışı proje üzerinde koddan Kopyala/Yapıştır. (Derleme GAC'de yüklü değilse bağlama dan gizle"gibi bir şey olarak adlandırılan bir yapı bayrak için bak" Ama aradım ama).

Özelliği yüklemek ve etkinleştirmek ve … o inşaat! Yani, Bundan sonra, Temelde gerekiyordu ' yeniden doğmuş gibi’ benim proje. Bir başka neden niçin bilgisayarlardan nefret bu.

Bu işe yarar bir şey öğrendin. Gün boyu stsadm komut satırını kullanarak özelliklerini yükleme ve be istimal "-kuvvet" alışkanlıktan seçeneği. İçin biraz neden, Ben kullanmadım yeni proje yüklendiğinde - zorlama seçeneği. Bu sefer, Aslında yaptım, gerçekten unutmak-e doğru bu yeni projenin derleme GAC içine kopyalayın. Sonuç olarak, FielNotFoundException"aldı." hata. Bu sefer, Stsadm aldım, web tarayıcısı üzerinden özelliğini etkinleştirmek çalışırken değil. Yani, -kuvvet aslında iki rol oynar. Varolan bir özelliği yeniden yüklemenize olanak tanır. Ayrıca çalışma zamanında hata baskılayarak çalışamaz bir adamcağız özelliğini yüklemek verir. Muhtemelen olduğu kadar bir yere Yardım'diyor ama ben hiç fark.

</sonunda>

3 “Üzerine düşüncelerSorunun çözümü: “FileNotFoundException” Benim özellik alıcısı ile.

  1. Francisco

    Ayrıca, Ben vardı benim 2 Saat ne zaman ı renamed Namespace özelliği alıcıda isterik nintendoSIXTYFOURRRR-ın-a-kötü-yol anları, takip etmek için burada senin veya başkasının başladı.

    Yanıtla
  2. Francisco

    Sorunun kök üzerinde dağıtılan wsp sharepoint veritabanında yatıyor.. Ben senin posta okumak ve gerçekten de sorunu çözmek iken çeşitli projeler ile büyük bir çözüm var ve bu yüzden her şey hareket dosyaları düzinelerce bir seçenek değildi.

    Ne kadar GAC veya derleme güncelleştirmek, ne veriyor sharepoint üzerinde yüklü geçerli WSP derlemede beladır..

    Kolayca fark bunun tek çözümü geri çekmek için çalışarak (hangi nereye belgili tanımlık yanlışlık olmak nedir). Her şey zamanında"geri çeker oluyor" "dağıtılan wsp" olduğu kabul-proje kendisi değil sadece.

    Benim geçici çözüm yapıldı.:

    – Yönetim Merkezi: Çözüm iptal et
    – Stsadm: deletesolution
    – Visual Studio => Proje => Paket
    – Stsadm: addsolution-ProjectbinDebugProject.wsp dosyası
    – Stsadm: deploysolution-adı project.wsp-acil - allowgacdeployment-kuvvet
    – Visual Studio => Dağıtma

    Ben de bin ve hata ayıklama projeden dağıtmak yeniden çalıştırmadan önce silinen klasörleri, hiçbir etkisi olmayabilir ama yorum değer.

    Bu inşaat için her ikisi

    "Özelliği … Çünkü yüklü değil olay alıcısı derlemesi yükleme"
    ve
    "Özelliği alıcı nesne derlemeden oluşturma başarısız oldu"

    Teşekkürler!
    Francisco

    Yanıtla
  3. Tom Clarkson

    Sadece birkaç saat aynı sorun gidermek ve sadece proje yeniden oluşturmayı daha iyi bir çözüm buldum çalışmakla geçirdi.

    Visual Studio yapı hedefi yerine x 86 x 64 ya da MSIL batmıştı bir nedenle ortaya çıktı – derleme GAC'de yapıldı., değil aynı GAC bu 64 bit SharePoint arıyordum.

    Yanıtla

Bir yanıt bırak Francisco Cevabı iptal

E-posta hesabınız yayımlanmayacak. Gerekli alanlar işaretlendi *