AppDomain.GetAssemblies 方法

定义

获取已加载到此应用程序域的执行上下文中的程序集。

public:
 cli::array <System::Reflection::Assembly ^> ^ GetAssemblies();
public:
 virtual cli::array <System::Reflection::Assembly ^> ^ GetAssemblies();
public System.Reflection.Assembly[] GetAssemblies ();
member this.GetAssemblies : unit -> System.Reflection.Assembly[]
abstract member GetAssemblies : unit -> System.Reflection.Assembly[]
override this.GetAssemblies : unit -> System.Reflection.Assembly[]
Public Function GetAssemblies () As Assembly()

返回

Assembly[]

此应用程序域中的程序集的数组。

实现

例外

在卸载的应用程序域上尝试该操作。

示例

下面的代码示例使用 GetAssemblies 该方法获取已加载到应用程序域的所有程序集的列表。 然后,程序集会显示到控制台。

若要运行此代码示例,需要创建一 CustomLibrary.dll个名为的程序集,或更改传递给该方法的 GetAssemblies 程序集名称。

using namespace System;
using namespace System::Reflection;
using namespace System::Security::Policy;

//for Evidence Object
int main()
{
   AppDomain^ currentDomain = AppDomain::CurrentDomain;
   
   //Provide the current application domain evidence for the assembly.
   Evidence^ asEvidence = currentDomain->Evidence;
   
   //Load the assembly from the application directory using a simple name.
   //Create an assembly called CustomLibrary to run this sample.
   currentDomain->Load( "CustomLibrary", asEvidence );
   
   //Make an array for the list of assemblies.
   array<Assembly^>^assems = currentDomain->GetAssemblies();
   
   //List the assemblies in the current application domain.
   Console::WriteLine( "List of assemblies loaded in current appdomain:" );
   System::Collections::IEnumerator^ myEnum = assems->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Assembly^ assem = safe_cast<Assembly^>(myEnum->Current);
      Console::WriteLine( assem );
   }
}
using System;
using System.Reflection;
using System.Security.Policy;

class ADGetAssemblies
{

    public static void Main()
    {
        AppDomain currentDomain = AppDomain.CurrentDomain;
        //Provide the current application domain evidence for the assembly.
        Evidence asEvidence = currentDomain.Evidence;
        //Load the assembly from the application directory using a simple name.

        //Create an assembly called CustomLibrary to run this sample.
        currentDomain.Load("CustomLibrary",asEvidence);

        //Make an array for the list of assemblies.
        Assembly[] assems = currentDomain.GetAssemblies();
    
        //List the assemblies in the current application domain.
        Console.WriteLine("List of assemblies loaded in current appdomain:");
            foreach (Assembly assem in assems)
                Console.WriteLine(assem.ToString());
    }
}
open System

let currentDomain = AppDomain.CurrentDomain
//Provide the current application domain evidence for the assembly.
let asEvidence = currentDomain.Evidence
//Load the assembly from the application directory using a simple name.

//Create an assembly called CustomLibrary to run this sample.
currentDomain.Load("CustomLibrary", asEvidence)

//Make an array for the list of assemblies.
let assems = currentDomain.GetAssemblies()

//List the assemblies in the current application domain.
printfn "List of assemblies loaded in current appdomain:"
for assem in assems do
    printfn $"{assem}"
Imports System.Reflection
Imports System.Security.Policy

Class ADGetAssemblies
   
   
   Public Shared Sub Main()
      Dim currentDomain As AppDomain = AppDomain.CurrentDomain
      'Provide the current application domain evidence for the assembly.
      Dim asEvidence As Evidence = currentDomain.Evidence
      'Load the assembly from the application directory using a simple name.
     
      'Create an assembly called CustomLibrary to run this sample.
      currentDomain.Load("CustomLibrary", asEvidence)
      
      'Make an array for the list of assemblies.
      Dim assems As [Assembly]() = currentDomain.GetAssemblies()
      
      'List the assemblies in the current application domain.
      Console.WriteLine("List of assemblies loaded in current appdomain:")
      Dim assem As [Assembly]
      For Each assem In  assems
         Console.WriteLine(assem.ToString())
      Next assem
   End Sub
End Class

适用于