簡體   English   中英

C#如何使用它的簡稱打開程序集(或者只有短名稱時如何獲得強名稱)

[英]C# How to open Assembly using it's short name (or how to get Strong Name when have only short one)

我有兩天的“ googleing”和“ msdning”。 我所擁有的所有信息就是,如果您實力雄厚,已加載程序集或類似的東西,則如何命名。 但是,當您只有短名稱時,沒有有關如何加載(或僅獲取全名,以使用它加載)程序集的信息。 Assembly.Load希望FullName,Assembly.LoadPartial被棄用,並且不起作用。 所以我有些困惑...

嘿...這個問題很愚蠢...我嘗試將“ System.Math”(僅用於測試)作為一個程序集加載,但這是一個類...所以當我嘗試加載System.IO.Compression時它加載成功。

Assembly a = Assembly.LoadWithPartialName("System.IO.Compression");
textBox1.AppendText( Environment.NewLine + a.GetName().Name );

我知道這個問題已經很老了,但是對於其他可能由Google領導的人來說:

Assembly.Load似乎也可以使用簡短的程序集名稱(沒有版本,區域性或公共密鑰令牌)工作,至少在我看來。

替代方法可以是:

Assembly assembly = AppDomain.CurrentDomain
    .GetAssemblies()
    .SingleOrDefault(assembly => assembly.GetName().Name == myAssemblyName);

請注意Assembly.GetName的安全約束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM