SORU
5 Aralık 2008, Cuma


Yönetilmeyen DLL ASP.NET sunucu üzerinde yükleme başarısız

Bu soru ASP.NET bir web sitesi, aslında VS 2005 yılında geliştirilen ve şimdi VS 2008 ile ilgilidir.

Bu web sitesi olmayan iki yönetilmeyen harici DLL kullanır .NET ve ben onları derlemek için kaynak kodu var ve onları kullanmak zorunda değilsiniz.

Bu web sitesinde Visual Studio içinden ince, ve bu dış DLL doğru bulmak erişerek çalışır. Web sitesi, bir Web sunucusu (IIS6 runnning ve 2.0 ASP.NET ) kalkınma PC yerine yayınlanan ancak ne zaman ve bu dış DLL bulun erişim sağlayamaz, ve aşağıdaki hatayı alıyorum:

Unable to load DLL 'XYZ.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Harici DLL sarın ve web sitesi için diğer ortadan kaldırmak için yönetilen DLL ile birlikte web sitesinin bin dizininde yer alır.

Bu sorun, arama birçok kişi aynı sorunu ASP.NET Web sitelerinden harici non.NET DLL erişim var gibi gösteriyor, ama işe yarayan bir çözüm bulamadım.

Aşağıdaki denedim:

  • Çalışan bağımlılıklar ilk üç kurmaya kontrol edin. yolda System32 dizininde, son .NET 2 çerçeve.
  • İki DLL ve bağımlılıklarını koydum Ve sunucunun yeniden başlatılması, ama yine de web sitesi System32 yük bu harici DLL olamaz.
  • İçin, IIS_WPG ve IUSR (sunucu için) ASPNET için tam hak verdi web sitesi bin dizini ve yeniden, ama web sitesi hala bulamadım yük bu harici DLL.
  • Projeler için varolan öğeleri olarak harici DLL eklendi ve set "Kopya Çıktı" "Kopya her Zaman", ve web sitesi özelliği kendi hala DLL bulamıyor.
  • Ayrıca onların "Eylem" "Gömülü kaynak" ve emlak İnşa web sitesi hala DLL bulamıyor.

Bu sorun ile herhangi bir yardım büyük mutluluk duyacağız!

CEVAP
14 Mayıs 2009, PERŞEMBE


Bu yönetilen DLL gölge altında geçici bir konuma kopyalanan almak için olur .NET Çerçeve dizin. Ayrıntılar için http://msdn.microsoft.com/en-us/library/ms366723.aspx bkz.

Ne yazık ki, yönetilmeyen DLL kopyalanan ve ASP.NET süreç onları yüklemek için gerektiğinde onları bulmak mümkün olmayacaktır.

Kolay bir çözüm için bir yönetilmeyen DLL bir dizin içinde sistem yolu (type "yolda" komut satırı yolu görmek makinenizi) bunlar tarafından bulunan ASP.NET süreç. System32 diziniher zamanyönetilmeyen DLL koyarak yolu, her zaman işe yarar, ama yol için başka bir klasör eklemek ve sonra bu DLL System32 dizini kirletici önlemek için eklemeyi öneriyoruz. Bu yöntem için bir büyük dezavantajı uygulama her sürümü için yönetilmeyen DLL dosyaları yeniden adlandırmak için var ve hızlı bir şekilde kendi dll cehennem olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • André Frizzo

    André Frizz

    16 Aralık 2006
  • Max Lee

    Max Lee

    18 AĞUSTOS 2006
  • VvCompHelpvV

    VvCompHelpvV

    4 EYLÜL 2007