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

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

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

[Bağlantıyı kopyala]
Yayınlandı 10.11.2020 17:46:35 | | | |
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| Yayınlandı 10.11.2020 18:18:44 |
Eğer C++ dll program alt dizinine yerleştirilirse, ortam değişkenleri ekleyerek ayarlanabilir

Mesela:

DLL'yi test dizininin altına koyun



Yayınlandı 16.07.2021 22:42:52 |
Öğren......
Yayınlandı 25.02.2023 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