如何获得C#.Net大会的名字?

有没有像这样的东西:

AppDomain.CurrentDomain.GetAssemblyByName("TheAssemblyName") 

所以不是循环通过AppDomain.CurrentDomain.GetAssemblies() ,我们可以直接得到特定的程序集

5 Solutions collect form web for “如何获得C#.Net大会的名字?”

你有没有试过看Assembly.Load(…) ?

PS雪人从天而降…未assembly。 (是的,丹麦的第一天下雪):D

我解决了与LINQ

 Assembly GetAssemblyByName(string name) { return AppDomain.CurrentDomain.GetAssemblies(). SingleOrDefault(assembly => assembly.GetName().Name == name); } 

这取决于你想要完成什么。

如果你只想得到程序集,那么你应该调用System.Reflection.Assembly.Load() (正如已经指出的那样)。 这是因为.NET会自动检查程序集是否已经加载到当前的AppDomain中,如果已经加载过了,它将不会再次加载它。

如果你只是想检查程序集是否被加载(可能是出于某些诊断的原因),那么你必须遍历所有加载的程序集。

你可能想循环的另一个原因是如果你只知道一些汇编信息(例如,你不确定版本)。 也就是说,你知道足够的“当你看到它时能够识别”,但是不足以加载它。 不过,这是一个相当模糊和不太可能的情况。

看看System.Reflection.Assembly类,特别是Load方法: MSDN

对于那些只需要访问程序集的元数据(版本等)的人可以查看Assembly.ReflectionOnlyLoad(name),它只能加载元数据,可能会保存在内存和IO上。

  • 如何编译GCC生成的asm?
  • 如何判断一个.NET程序集是dynamic的?
  • LoadFile和LoadFrom与.NET程序集之间的区别?
  • 面向更高框架版本的Visual Studio 2010:参考程序集
  • 如何解决“引用的程序集没有强名称”的错误?
  • 手动汇编vs GCC
  • 什么是混合模式组装?
  • 这是“不应该发生”崩溃的AMD Fusion CPU的错误?
  • reflection速度有多慢
  • .NET程序集签名的最佳实践?
  • 学习汇编语言是否值得?