【问题标题】:C# How to open Assembly using it's short name (or how to get Strong Name when have only short one)C#如何使用它的短名称打开程序集(或只有短名称时如何获取强名称)
【发布时间】:2016-07-08 22:22:06
【问题描述】:

我有两天的“googleing”和“msdning”。我所拥有的所有信息都是如何获得短名称,如果你有强大的,加载了一个程序集或其他类似的东西。但是,当您只有短名称时,没有关于如何加载(或只是获取全名,以使用它来加载)程序集的信息。 Assembly.Load 想要 FullName,Assembly.LoadPartial 已弃用且不起作用。所以我有些困惑...

【问题讨论】:

    标签: c# assemblies


    【解决方案1】:

    嘿...这个问题很愚蠢...我尝试将“System.Math”(选择这个只是为了测试)作为一个程序集加载,但这是一个类...所以当我尝试加载 System.Math 时。 IO.Compression 加载成功。

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

    【讨论】:

      【解决方案2】:

      我知道这个问题已经很老了,但是对于可能由 Google 领导的其他人来说:

      Assembly.Load 似乎也可以使用短程序集名称(无版本、文化或公钥令牌),至少在我的情况下。

      另一种可能是:

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

      请注意Assembly.GetName 的安全限制。

      【讨论】:

        猜你喜欢
        • 2010-11-27
        • 2023-01-19
        • 2022-01-25
        • 1970-01-01
        • 1970-01-01
        • 2011-12-27
        • 2018-09-02
        • 2012-01-22
        • 1970-01-01
        相关资源
        最近更新 更多