Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 50236|Yanıt: 3

[Kaynak] C#, referans kütüphane DLL'lerini probing yoluyla alt klasörlere yerleştirir

[Bağlantıyı kopyala]
2020-11-10 tarihinde 17:46:35 tarihinde yayınlandı | | | |
Talep:

Projede üç tür DLL var, çok fazla ve karmaşık. Onları üç alt dizine nasıl yerleştiririm
Mesela ne:
Dev, Devexpress dizinine yerleştirilir
Referans kütüphane projenizi Lib dizinine yerleştirin
Üçüncü taraf DLL'ler Oth dizinine yerleştirilir

Büyük bir projede geliştirirken, proje tarafından referans verilen çok sayıda dll olduğunu göreceğiz ve farklı DLL'leri farklı fonksiyonlara göre farklı klasörlere koymak istiyorum.

Örnek:

Biz net2 bir konsol projesi, ClassLibrary4 sınıf kütüphanesine referans verecek, derlenmiş uygulama ve dll aynı dizinde olacak, ClassLibrary4.dll program dizininin altında test klasörü altına koymak istiyorum, doğrudan koyuyoruz, bir istisna atıyor:

Yönetilmeyen İstisna: System.IO.FileNotFoundException: "ClassLibrary4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" dosyası veya montajı veya bağımlılıklarından biri yüklenemedi. Sistem belirtilen dosyayı bulamıyor.
   Net2'de. Program.Main(String[] args)

Çözüm

net2.exe.config dosyasını düzenleyin ve probing ayarlarını aşağıdaki gibi ekleyin:

İki farklı klasöre koyulması gereken iki farklı dll varsa, içerideFarklı klasörleri belirtmek için noktalı virgül kullanınMesela:


ClassLibrary4 Kodu:

Net2 kodu:


Programı aşağıda gösterildiği gibi çalıştırmayı deneyin:


Açıklama:Bir bat script yazıp library dll'yi assembly oluşturulduktan sonraki sürede bir alt dizine koyabilirsiniz

(Son)






Önceki:Mevcut dizini almak için System.Environment.CurrentDirectory ile dikkatli olun
Önümüzdeki:. .NET MySQL Connector Conflicts DbProviderFactories (.NET MySQL Connector Conflicts DbP...
 Ev sahibi| 2020-11-10 tarihinde 18:18:44 tarihinde yayınlandı |
Eğer C++ dll program alt dizinine yerleştirilirse, ortam değişkenleri ekleyerek ayarlanabilir

Mesela:

DLL'yi test dizininin altına koyun



2021-7-16 tarihinde yayınlandı 22:42:52 |
Öğren......
2023-2-25 tarihinde yayınlandı 21:18:42 |
Gerçekten umarım aradığım budur
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com