AppDomain.GetAssemblies 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取已加载到此应用程序域的执行上下文中的程序集。
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