Assembly bağlama günlüğünü nasıl etkinleştirebilirim?

Şu mesajı alıyorum: "Dosya veya derleme 'Bla' veya bağımlılıklarından biri yüklenemedi. Yanlış biçime sahip bir program yüklenmeye çalışıldı."

Detaylı bilginin bir kısmı şöyle diyor:

"WRN: Montaj bağlama günlüğü KAPALI. Montaj bağlama hatası günlüğünü etkinleştirmek için kayıt defteri değerini [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) 1 olarak ayarlayın. Not: Montaj bağlama hatası günlüğü ile ilişkili bazı performans cezaları vardır. Bu özelliği kapatmak için, [HKLM\Software\Microsoft\Fusion!EnableLog]." kayıt defteri değerini kaldırın.

Bunun bana yukarıdaki hatayı neden aldığım konusunda biraz fikir verebileceğini düşünerek (belki bir sonraki YSOD tam olarak neden başarısız olduğu konusunda daha açık bilgiler içerir), kayıt defterindeki o konuma gittim, ancak görebildiğim böyle bir anahtar yok. Var olan şey şu:

\Fusion 
    (Default)   value not set
    \GACChangeNotification
    \NativeImagesIndex
    \PublisherPolicy

Neyi kaçırıyorum?

Çözüm

Başarısız bir bağlama ile ilgili araştırmanıza başlamak için iyi bir yer "fuslogvw.exe" yardımcı programını kullanmaktır. Bu size bağlama hatasıyla ilgili ihtiyacınız olan bilgiyi verebilir, böylece bağlama günlüğünü açmak için herhangi bir kayıt defteri değeriyle uğraşmak zorunda kalmazsınız.

Fuslogvw MSDN sayfası

Yardımcı program, işletim sisteminize bağlı olarak aşağıdaki gibi bir klasör olan Microsoft SDKs klasörünüzde olmalıdır: "C:\Program Files (x86)\Microsoft SDKs\Windows\v{SDK sürümü}A\Bin\FUSLOGVW.exe"

  1. Bu yardımcı programı çalıştırın (bir GUI'si vardır) ve ayarları "Log bind failures to disk" olarak ayarlayın.

  2. "Tümünü sil" seçeneğine tıklayarak önceki bağlama hatalarının listesini temizleyin

  3. Uygulamanızdaki bağlama hatasını yeniden üretin

  4. Yardımcı programda Yenile'ye tıklayın. Daha sonra listede bağlama hatasının günlüğe kaydedildiğini görmelisiniz.

  5. Bağlama hatasıyla ilgili bilgileri listeden seçip "Günlüğü Görüntüle&quot düğmesine tıklayarak görüntüleyebilirsiniz;

İlk baktığım şey, uygulamanın derlemeyi aradığı yoldur. Ayrıca söz konusu derlemenin sürüm numarasının beklediğiniz gibi olduğundan da emin olmalısınız.

Yorumlar (8)

Bazen uygulamanızın farklı sürümlerini çalıştırıyorsanız, çalışan sürümün buna ihtiyacı yoksa uygulama bin dizininden 'Bla' öğesini sildiğinizden emin olun.

Yorumlar (0)

Aynı sorunu yaşadığımda, o projedeki mevcut key.snk dosyasını silerek ve yeni bir anahtar ekleyerek sorunu çözdüm.

Yorumlar (0)