IAssemblyLoadContext.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using System.IO;
  3. using System.Reflection;
  4. namespace Atomic.Bootstrap
  5. {
  6. /// <summary>
  7. /// A context in which assemblies can be loaded.
  8. /// </summary>
  9. public interface IAssemblyLoadContext : IDisposable
  10. {
  11. /// <summary>
  12. /// Load an assembly by name.
  13. /// </summary>
  14. /// <param name="assemblyName">The name of the assembly.</param>
  15. /// <returns>The loaded assembly.</returns>
  16. Assembly Load(AssemblyName assemblyName);
  17. /// <summary>
  18. /// Loads the assembly located at the provided file system path.
  19. /// </summary>
  20. /// <param name="path">The fully qualified path of the file to load.</param>
  21. /// <returns>The loaded assembly.</returns>
  22. Assembly LoadFile(string path);
  23. /// <summary>
  24. /// Loads the assembly with a common object file format (COFF)-based image containing an emitted assembly, optionally including symbols for the assembly.
  25. /// </summary>
  26. /// <param name="assemblyStream">The stream representing the assembly.</param>
  27. /// <param name="assemblySymbols">The stream representing the symbols.</param>
  28. /// <returns>The loaded assembly.</returns>
  29. Assembly LoadStream(Stream assemblyStream, Stream assemblySymbols);
  30. }
  31. }