System.AppDomain.ExecuteAssemblyByName 方法 (String, Evidence, String[])

方法描述

在给定其显示名称的情况下,使用指定证据和实参执行程序集。

语法定义(C# System.AppDomain.ExecuteAssemblyByName 方法 (String, Evidence, String[]) 的用法)

[ObsoleteAttribute("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssemblyByName which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssemblyByName(
	string assemblyName,
	Evidence assemblySecurity,
	params string[] args
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
assemblyName System-String 程序集的显示名称。请参见 Assembly.FullName。
assemblySecurity System-Security-Policy-Evidence 用于加载程序集的证据。
args System-String[] 启动该进程时传递的命令行实参。
返回值 System.Int32 程序集的入口点返回的值。

提示和注释

ExecuteAssemblyByName 方法提供类似于 ExecuteAssembly 方法的功能,但以显示名称或 AssemblyName 而不是文件位置指定程序集。 因此,ExecuteAssemblyByName 使用 Load 方法而不是使用 LoadFile 方法加载程序集。

程序集从 .NET Framework 标头中指定的入口点处开始执行。

此方法不创建新的进程或应用程序域,并且不在新线程上执行入口点方法。

注意

当使用带有 Evidence 形参的 ExecuteAssemblyByName 方法时,将对各项证据进行合并。 作为 ExecuteAssemblyByName 方法的实参提供的各项证据将替代由加载程序提供的各项证据。

System.AppDomain.ExecuteAssemblyByName 方法 (String, Evidence, String[])例子


异常

异常 异常描述
ArgumentNullException assemblyName 为 null。
FileNotFoundException 未找到由 assemblyName 指定的程序集。
FileLoadException 找到了 assemblyName 指定的程序集,但未能加载。
BadImageFormatException
  • assemblyName 指定的程序集不是有效程序集。
  • 当前加载的是 2.0 或更高版本的公共语言运行时,而 assemblyName 是用更高版本的公共语言运行时编译的。
AppDomainUnloadedException 尝试对已卸载的应用程序域进行操作。
NotSupportedException assemblySecurity 不是 null。 未启用旧版 CAS 策略时,assemblySecurity 应该为 null。
MissingMethodException 指定的程序集无入口点。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:3.5、3.0、2.0 在 4 中过时(编译器警告) .NET Framework Client Profile 受以下版本支持:3.5 SP1 在 4 中过时(编译器警告)

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。