Assembly.LoadFrom Assembly.LoadFrom Assembly.LoadFrom Assembly.LoadFrom Method

Определение

Загружает сборку.Loads an assembly.

Перегрузки

LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)

Загружает сборку с заданным именем файла сборки или путем, свидетельством безопасности, хэш-значением и хэш-алгоритмом.Loads an assembly given its file name or path, security evidence, hash value, and hash algorithm.

LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm)

Загружает сборку с заданным именем файла сборки или путем, хэш-значением и хэш-алгоритмом.Loads an assembly given its file name or path, hash value, and hash algorithm.

LoadFrom(String) LoadFrom(String) LoadFrom(String) LoadFrom(String)

Загружает сборку с заданным именем или путем.Loads an assembly given its file name or path.

LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence)

Загружает сборку, заданную именем файла или путем к этому файлу и предоставленным свидетельством безопасности.Loads an assembly given its file name or path and supplying security evidence.

Комментарии

Начиная с .NET Framework 4, по умолчанию, а вызов отключена возможность выполнения кода в сборки, загруженные из удаленных расположений LoadFrom вызывает метод FileLoadException.Starting with .NET Framework 4, the ability to execute code in assemblies loaded from remote locations is disabled by default, and the call to the LoadFrom method throws a FileLoadException. Для загрузки сборки и выполнения его кода, необходимо:To load the assembly and execute its code, you must either:

LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)

Предупреждение

Этот API устарел.

Загружает сборку с заданным именем файла сборки или путем, свидетельством безопасности, хэш-значением и хэш-алгоритмом.Loads an assembly given its file name or path, security evidence, hash value, and hash algorithm.

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ securityEvidence, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
[System.Obsolete]
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly LoadFrom (string assemblyFile, System.Security.Policy.Evidence securityEvidence, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
static member LoadFrom : string * System.Security.Policy.Evidence * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String, securityEvidence As Evidence, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Assembly

Параметры

assemblyFile
String String String String

Имя файла, содержащего манифест сборки, либо путь к нему.The name or path of the file that contains the manifest of the assembly.

securityEvidence
Evidence Evidence Evidence Evidence

Свидетельство для загрузки сборки.Evidence for loading the assembly.

hashValue
Byte[]

Значение вычисленного хэш-кода.The value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm

Алгоритм хэширования, используемый для хэширования файлов и генерации строгого имени.The hash algorithm used for hashing files and for generating the strong name.

Возвраты

Загруженная сборка.The loaded assembly.

Исключения

Файл assemblyFile не найден, или модуль, который вы пытаетесь загрузить, не указывает расширение имени файла.assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

Не удалось загрузить файл, который был найден.A file that was found could not be loaded.

-или--or- Параметр securityEvidence не является неоднозначным и определяется как недопустимый.The securityEvidence is not ambiguous and is determined to be invalid.

-или--or-

Возможность выполнения кода в удаленных сборках отключена.The ability to execute code in remote assemblies is disabled. См. элемент <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile не является допустимой сборкой. Например, это 32-разрядная сборка в 64-разрядном процессе.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Дополнительные сведения см. в разделе исключений.See the exception topic for more information.

-или--or- В настоящий момент загружена среда CLR версии 2.0 или более поздней версии. Сборка assemblyFile была скомпилирована в более поздней версии.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

База кода, которая не начинается с "file://", была указана без требуемого разрешения WebPermission.A codebase that does not start with "file://" was specified without the required WebPermission.

Параметр assemblyFile представляет собой пустую строку ("").The assemblyFile parameter is an empty string ("").

Длина имени сборки превышает максимальную длину, определенную в системе.The assembly name exceeds the system-defined maximum length.

Комментарии

assemblyFile Параметр должен ссылаться на URI без escape-символы.The assemblyFile parameter must refer to a URI without escape characters. Этот метод предоставляет escape-символы для всех недопустимых символов в URI.This method supplies escape characters for all invalid characters in the URI.

Примечание

Протокол передачи файлов (FTP) не поддерживается.File transfer protocol (FTP) is not supported. Если указан URI для assemblyFile является адресом FTP, сборка не загружается.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. Исключение не возникает.No exception is thrown.

assemblyFile может быть абсолютным или относительным для текущего каталога, и сборка загружается в домен вызывающего объекта.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Сборки могут загружаться в одном из трех контекстов или могут быть загружены без контекста:Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • Контекст загрузки содержит сборки, обнаруженные в результате поиска: в глобальном кэше СБОРОК, в хранилище сборки хранить Если размещается среда выполнения или в ApplicationBase и PrivateBinPath домена приложения.The load context contains assemblies found by probing: in the GAC, in a host assembly store if the runtime is hosted, or in the ApplicationBase and PrivateBinPath of the application domain. В большинстве перегруженных версий метода Load сборки загружаются именно в этот контекст.Most overloads of the Load method load assemblies into this context.

  • Контекст загрузки с содержит сборки, для которых пользователь указал путь не включен в каталоги поиска проверки.The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. К примерам методов, которые выполняют загрузку по указанному пути, относятся методы LoadFrom, CreateInstanceFrom и ExecuteAssembly.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    Начиная с .NET Framework 4, если URI assemblyFile указывает удаленного расположения, загрузка сборки отключен по умолчанию и LoadFrom вызывает метод FileLoadException.Starting with .NET Framework 4, if the URI of assemblyFile specifies a remote location, assembly loading is disabled by default, and the LoadFrom method throws a FileLoadException. Чтобы включить выполнение кода, загруженного из удаленных расположений, можно использовать <loadFromRemoteSources> элемента конфигурации.To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • Контекст только для отражения содержит сборки, загруженные с ReflectionOnlyLoad и ReflectionOnlyLoadFrom методов; код в этих контекстах, не может быть выполнена.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Если пользователь создается или найти сборку, это не в любом контексте.If the user generated or found the assembly, it is not in any context. Это относится к сборкам, загруженным с помощью перегрузки Load метод, который указывается массив байтов, содержащий сборку, а чтобы временные динамические сборки, созданные с помощью отражения для создания и не сохраняются на диске.This applies to assemblies loaded using overloads of the Load method that specify a byte array containing an assembly, and to transient dynamic assemblies created with reflection emit and not saved to disk.

Контекст загрузки с сборку необходимо загрузить из пути, не включается в область поиска и еще позволяет зависимости по этому пути, чтобы найти и загрузить, так как сведения о пути хранятся в контексте.The load-from context allows an assembly to be loaded from a path not included in probing, and yet allows dependencies on that path to be found and loaded because the path information is maintained by the context.

LoadFrom Метод имеет следующие недостатки.The LoadFrom method has the following disadvantages. Вместо этого рекомендуется использовать Load.Consider using Load instead.

  • Если сборка с тем же идентификатором уже загружена, метод LoadFrom возвращает загруженную сборку даже в том случае, если был задан другой путь.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Если сборка загружается с LoadFromи последующие попытки загрузить ту же сборку по отображаемому имени сборки в контекст загрузки, попытка загрузки завершится неудачей.If an assembly is loaded with LoadFrom, and later an assembly in the load context attempts to load the same assembly by display name, the load attempt fails. Это может произойти при десериализации сборки.This can occur when an assembly is deserialized.

  • Если сборка загружается с LoadFrom, и путь поиска сборок включает сборку с тем же идентификатором, но другое расположение, InvalidCastException, MissingMethodException, или другие непредсказуемые последствия.If an assembly is loaded with LoadFrom, and the probing path includes an assembly with the same identity but a different location, an InvalidCastException, MissingMethodException, or other unexpected behavior can occur.

  • Метод LoadFrom требует наличия флагов FileIOPermissionAccess.Read или FileIOPermissionAccess.PathDiscovery либо наличия объекта WebPermission для заданного пути.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Если образ в машинном коде для assemblyFile, он не используется.If a native image exists for assemblyFile, it is not used. Сборка не может быть загружена как нейтральная к домену.The assembly cannot be loaded as domain neutral.

  • В .NET Framework версий 1.0 и 1.1 политика не применяется.In the .NET Framework version 1.0 and 1.1, policy is not applied.

От свидетельства зависит, предоставляются ли сборке определенные разрешения.Whether certain permissions are granted or not granted to an assembly is based on evidence. Далее приведены правила для сборки и слияние свидетельством безопасности.The rules for assembly and security evidence merging are as follows:

  • При использовании LoadFrom метод, не имеющий Evidence параметр, сборка загружается со свидетельством, предоставленным загрузчиком.When you use a LoadFrom method with no Evidence parameter, the assembly is loaded with the evidence that the loader supplies.

  • При использовании LoadFrom метод с Evidence параметра, части свидетельства объединяются.When you use a LoadFrom method with an Evidence parameter, pieces of evidence are merged. Части свидетельство, предоставляемое в качестве аргумента LoadFrom метод замещают фрагменты свидетельства, предоставленные загрузчиком.Pieces of evidence supplied as an argument to the LoadFrom method supersede pieces of evidence supplied by the loader.

  • Если этот метод вызывается несколько раз к той же сборке, но с разными свидетельствами, среда CLR не создает исключение FileLoadException , так как невозможно определить равенство и целостность различных спецификаций свидетельства.If you call this method more than once on the same assembly but with a different evidence specified, the common language runtime does not throw a FileLoadException because the equality and integrity of the different evidence specifications cannot be determined. Свидетельство сначала выполняется успешно, это свидетельство, который используется.The evidence that first succeeds is the evidence that is used.

  • При использовании LoadFrom метод с Byte[] параметр для загрузки общего объекта файла формате COFF образа, свидетельство объединяется.When you use a LoadFrom method with a Byte[] parameter to load a common object file format (COFF) image, evidence is combined. Zone, Url и Site наследуются от вызывающей сборки и Hash и StrongName берутся из сборки COFF.Zone, Url and Site are inherited from the calling assembly, and Hash and StrongName are taken from the COFF assembly.

  • При использовании LoadFrom метод с Byte[] параметр и Evidence для загрузки образа в формате COFF, используется только предоставленное свидетельство.When you use a LoadFrom method with a Byte[] parameter and Evidence to load a COFF image, only the supplied evidence is used. Свидетельство вызывающей сборки и свидетельство образа в формате COFF учитывается.Evidence of the calling assembly and evidence of the COFF image is ignored.

Безопасность

SecurityPermission
на загрузку сборки со свидетельством.to load an assembly with evidence. Связанное перечисление: ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
для чтения URI, который начинается с «file://».for reading a URI that begins with "file://". Связанное перечисление: ReadAssociated enumeration: Read

WebPermission
для чтения URI, который не начинается с «file://».for reading a URI that does not begin with "file://".

LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm) LoadFrom(String, Byte[], AssemblyHashAlgorithm)

Загружает сборку с заданным именем файла сборки или путем, хэш-значением и хэш-алгоритмом.Loads an assembly given its file name or path, hash value, and hash algorithm.

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public static System.Reflection.Assembly LoadFrom (string assemblyFile, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
static member LoadFrom : string * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String, hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Assembly

Параметры

assemblyFile
String String String String

Имя файла, содержащего манифест сборки, либо путь к нему.The name or path of the file that contains the manifest of the assembly.

hashValue
Byte[]

Значение вычисленного хэш-кода.The value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm

Алгоритм хэширования, используемый для хэширования файлов и генерации строгого имени.The hash algorithm used for hashing files and for generating the strong name.

Возвраты

Загруженная сборка.The loaded assembly.

Исключения

Файл assemblyFile не найден, или модуль, который вы пытаетесь загрузить, не указывает расширение имени файла.assemblyFile is not found, or the module you are trying to load does not specify a file name extension.

Не удалось загрузить файл, который был найден.A file that was found could not be loaded.

-или--or-

Возможность выполнения кода в удаленных сборках отключена.The ability to execute code in remote assemblies is disabled. См. элемент <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile не является допустимой сборкой. Например, это 32-разрядная сборка в 64-разрядном процессе.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Дополнительные сведения см. в разделе исключений.See the exception topic for more information.

-или--or- Сборка assemblyFile была скомпилирована в более поздней версии среды CLR, чем версия, загруженная в текущий момент.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

База кода, которая не начинается с "file://", была указана без требуемого разрешения WebPermission.A codebase that does not start with "file://" was specified without the required WebPermission.

Параметр assemblyFile представляет собой пустую строку ("").The assemblyFile parameter is an empty string ("").

Длина имени сборки превышает максимальную длину, определенную в системе.The assembly name exceeds the system-defined maximum length.

Комментарии

assemblyFile Параметр должен ссылаться на URI без escape-символы.The assemblyFile parameter must refer to a URI without escape characters. Этот метод предоставляет escape-символы для всех недопустимых символов в URI.This method supplies escape characters for all invalid characters in the URI.

Примечание

Протокол передачи файлов (FTP) не поддерживается.File transfer protocol (FTP) is not supported. Если указан URI для assemblyFile является адресом FTP, сборка не загружается.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. Исключение не возникает.No exception is thrown.

assemblyFile может быть абсолютным или относительным для текущего каталога, и сборка загружается в домен вызывающего объекта.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Сборки могут загружаться в одном из трех контекстов или могут быть загружены без контекста:Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • Контекст загрузки содержит сборки, обнаруженные в результате поиска: в глобальном кэше сборок, в хранилище сборки хранить Если размещается среда выполнения или в ApplicationBase и PrivateBinPath домена приложения.The load context contains assemblies found by probing: in the global assembly cache, in a host assembly store if the runtime is hosted, or in the ApplicationBase and PrivateBinPath of the application domain. В большинстве перегруженных версий метода Load сборки загружаются именно в этот контекст.Most overloads of the Load method load assemblies into this context.

  • Контекст загрузки с содержит сборки, для которых пользователь указал путь, который не входит в область поиска.The load-from context contains assemblies for which the user provided a path that is not included in probing. К примерам методов, которые выполняют загрузку по указанному пути, относятся методы LoadFrom, CreateInstanceFrom и ExecuteAssembly.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    Начиная с .NET Framework 4, если URI assemblyFile указывает удаленного расположения, загрузка сборки отключен по умолчанию и LoadFrom вызывает метод FileLoadException.Starting with .NET Framework 4, if the URI of assemblyFile specifies a remote location, assembly loading is disabled by default, and the LoadFrom method throws a FileLoadException. Чтобы включить выполнение кода, загруженного из удаленных расположений, можно использовать <loadFromRemoteSources> элемента конфигурации.To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • Контекст только для отражения содержит сборки, загруженные с ReflectionOnlyLoad и ReflectionOnlyLoadFrom методов; код в этих контекстах, не может быть выполнена.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Если пользователь создается или найти сборку, это не в любом контексте.If the user generated or found the assembly, it is not in any context. Это относится к сборкам, загруженным с помощью перегрузки Load метод, который указывается массив байтов, содержащий сборку, а чтобы временные динамические сборки, созданные с помощью отражения для создания и не сохраняются на диске.This applies to assemblies loaded using overloads of the Load method that specify a byte array containing an assembly, and to transient dynamic assemblies created with reflection emit and not saved to disk.

Контекст загрузки с позволяет сборки для загрузки, путь которой не включается в область поиска, а еще разрешает зависимости по этому пути, чтобы найти и загрузить, так как сведения о пути хранятся в контексте.The load-from context allows an assembly to be loaded from a path that is not included in probing, and yet allows dependencies on that path to be found and loaded because the path information is maintained by the context.

LoadFrom Метод имеет следующие недостатки.The LoadFrom method has the following disadvantages. Вместо этого рекомендуется использовать Load.Consider using Load instead.

  • Если сборка с тем же идентификатором уже загружена, метод LoadFrom возвращает загруженную сборку даже в том случае, если был задан другой путь.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Если сборка загружается с LoadFromи последующие попытки загрузить ту же сборку по отображаемому имени сборки в контекст загрузки, попытка загрузки завершится неудачей.If an assembly is loaded with LoadFrom, and later an assembly in the load context attempts to load the same assembly by display name, the load attempt fails. Это может произойти при десериализации сборки.This can occur when an assembly is deserialized.

  • Если сборка загружается с LoadFrom, и путь поиска сборок включает сборку с тем же идентификатором, но другое расположение, InvalidCastException, MissingMethodException, или другие непредсказуемые последствия.If an assembly is loaded with LoadFrom, and the probing path includes an assembly with the same identity but a different location, an InvalidCastException, MissingMethodException, or other unexpected behavior can occur.

  • Метод LoadFrom требует наличия флагов FileIOPermissionAccess.Read или FileIOPermissionAccess.PathDiscovery либо наличия объекта WebPermission для заданного пути.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Если образ в машинном коде для assemblyFile, он не используется.If a native image exists for assemblyFile, it is not used. Сборка не может быть загружена как доменно-нейтральная.The assembly cannot be loaded as domain-neutral.

Сборка загружается со свидетельством, предоставленным загрузчиком.The assembly is loaded with the evidence that the loader supplies.

Безопасность

SecurityPermission
на загрузку сборки со свидетельством.to load an assembly with evidence. Связанное перечисление: ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
для чтения URI, который начинается с «file://».for reading a URI that begins with "file://". Связанное перечисление: ReadAssociated enumeration: Read

WebPermission
для чтения URI, который не начинается с «file://».for reading a URI that does not begin with "file://".

LoadFrom(String) LoadFrom(String) LoadFrom(String) LoadFrom(String)

Загружает сборку с заданным именем или путем.Loads an assembly given its file name or path.

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile);
public static System.Reflection.Assembly LoadFrom (string assemblyFile);
static member LoadFrom : string -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String) As Assembly

Параметры

assemblyFile
String String String String

Имя файла, содержащего манифест сборки, либо путь к нему.The name or path of the file that contains the manifest of the assembly.

Возвраты

Загруженная сборка.The loaded assembly.

Исключения

Файл assemblyFile не найден, или модуль, который вы пытаетесь загрузить, не указывает расширение имени файла.assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

Не удалось загрузить файл, который был найден.A file that was found could not be loaded.

-или--or-

Возможность выполнения кода в удаленных сборках отключена.The ability to execute code in remote assemblies is disabled. См. элемент <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile не является допустимой сборкой. Например, это 32-разрядная сборка в 64-разрядном процессе.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Дополнительные сведения см. в разделе исключений.See the exception topic for more information.

-или--or- В настоящий момент загружена среда CLR версии 2.0 или более поздней версии. Сборка assemblyFile была скомпилирована в более поздней версии.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

База кода, которая не начинается с "file://", была указана без требуемого разрешения WebPermission.A codebase that does not start with "file://" was specified without the required WebPermission.

Параметр assemblyFile представляет собой пустую строку ("").The assemblyFile parameter is an empty string ("").

Длина имени сборки превышает максимальную длину, определенную в системе.The assembly name exceeds the system-defined maximum length.

Примеры

В следующем примере загружается сборка, заданная его имя файла или путь.The following example loads an assembly given its file name or path.

Assembly^ SampleAssembly;
SampleAssembly = Assembly::LoadFrom( "c:\\Sample.Assembly.dll" );
// Obtain a reference to a method known to exist in assembly.
MethodInfo^ Method = SampleAssembly->GetTypes()[ 0 ]->GetMethod( "Method1" );
// Obtain a reference to the parameters collection of the MethodInfo instance.
array<ParameterInfo^>^ Params = Method->GetParameters();
// Display information about method parameters.
// Param = sParam1
//   Type = System::String
//   Position = 0
//   Optional=False
for each ( ParameterInfo^ Param in Params )
{
   Console::WriteLine( "Param= {0}", Param->Name );
   Console::WriteLine( "  Type= {0}", Param->ParameterType );
   Console::WriteLine( "  Position= {0}", Param->Position );
   Console::WriteLine( "  Optional= {0}", Param->IsOptional );
}
Assembly SampleAssembly;
SampleAssembly = Assembly.LoadFrom("c:\\Sample.Assembly.dll");
// Obtain a reference to a method known to exist in assembly.
MethodInfo Method = SampleAssembly.GetTypes()[0].GetMethod("Method1");
// Obtain a reference to the parameters collection of the MethodInfo instance.
ParameterInfo[] Params = Method.GetParameters();
// Display information about method parameters.
// Param = sParam1
//   Type = System.String
//   Position = 0
//   Optional=False
foreach (ParameterInfo Param in Params)
{
    Console.WriteLine("Param=" + Param.Name.ToString());
    Console.WriteLine("  Type=" + Param.ParameterType.ToString());
    Console.WriteLine("  Position=" + Param.Position.ToString());
    Console.WriteLine("  Optional=" + Param.IsOptional.ToString());
}
Dim SampleAssembly As [Assembly]
SampleAssembly = [Assembly].LoadFrom("c:\Sample.Assembly.dll")
' Obtain a reference to a method known to exist in assembly.
Dim Method As MethodInfo = SampleAssembly.GetTypes()(0).GetMethod("Method1")
' Obtain a reference to the parameters collection of the MethodInfo instance.
Dim Params As ParameterInfo() = Method.GetParameters()
' Display information about method parameters.
' Param = sParam1
'   Type = System.String
'   Position = 0
'   Optional=False
For Each Param As ParameterInfo In Params
    Console.WriteLine(("Param=" + Param.Name.ToString()))
    Console.WriteLine(("  Type=" + Param.ParameterType.ToString()))
    Console.WriteLine(("  Position=" + Param.Position.ToString()))
    Console.WriteLine(("  Optional=" + Param.IsOptional.ToString()))
Next 

Комментарии

assemblyFile Параметр должен ссылаться на URI без escape-символы.The assemblyFile parameter must refer to a URI without escape characters. Этот метод предоставляет escape-символы для всех недопустимых символов в URI.This method supplies escape characters for all invalid characters in the URI.

Примечание

Протокол передачи файлов (FTP) не поддерживается.File transfer protocol (FTP) is not supported. Если указан URI для assemblyFile является адресом FTP, сборка не загружается.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. Исключение не возникает.No exception is thrown.

assemblyFile может быть абсолютным или относительным для текущего каталога, и сборка загружается в домен вызывающего объекта.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Сборки могут загружаться в одном из трех контекстов или могут быть загружены без контекста:Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • Контекст загрузки содержит сборки, обнаруженные в результате поиска: в глобальном кэше СБОРОК, в хранилище сборки хранить Если размещается среда выполнения или в ApplicationBase и PrivateBinPath домена приложения.The load context contains assemblies found by probing: in the GAC, in a host assembly store if the runtime is hosted, or in the ApplicationBase and PrivateBinPath of the application domain. В большинстве перегруженных версий метода Load сборки загружаются именно в этот контекст.Most overloads of the Load method load assemblies into this context.

  • Контекст загрузки с содержит сборки, для которых пользователь указал путь не включен в каталоги поиска проверки.The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. К примерам методов, которые выполняют загрузку по указанному пути, относятся методы LoadFrom, CreateInstanceFrom и ExecuteAssembly.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    Начиная с .NET Framework 4, если URI assemblyFile указывает удаленного расположения, загрузка сборки отключен по умолчанию и LoadFrom вызывает метод FileLoadException.Starting with .NET Framework 4, if the URI of assemblyFile specifies a remote location, assembly loading is disabled by default, and the LoadFrom method throws a FileLoadException. Чтобы включить выполнение кода, загруженного из удаленных расположений, можно использовать <loadFromRemoteSources> элемента конфигурации.To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • Контекст только для отражения содержит сборки, загруженные с ReflectionOnlyLoad и ReflectionOnlyLoadFrom методов; код в этих контекстах, не может быть выполнена.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Если пользователь создается или найти сборку, это не в любом контексте.If the user generated or found the assembly, it is not in any context. Это относится к сборкам, загруженным с помощью перегрузки Load метод, который указывается массив байтов, содержащий сборку, а чтобы временные динамические сборки, созданные с помощью отражения для создания и не сохраняются на диске.This applies to assemblies loaded using overloads of the Load method that specify a byte array containing an assembly, and to transient dynamic assemblies created with reflection emit and not saved to disk.

Контекст загрузки с сборку необходимо загрузить из пути, не включается в область поиска и еще позволяет зависимости по этому пути, чтобы найти и загрузить, так как сведения о пути хранятся в контексте.The load-from context allows an assembly to be loaded from a path not included in probing, and yet allows dependencies on that path to be found and loaded because the path information is maintained by the context.

LoadFrom Метод имеет следующие недостатки.The LoadFrom method has the following disadvantages. Вместо этого рекомендуется использовать Load.Consider using Load instead.

  • Если сборка с тем же идентификатором уже загружена, метод LoadFrom возвращает загруженную сборку даже в том случае, если был задан другой путь.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Если сборка загружается с LoadFromи последующие попытки загрузить ту же сборку по отображаемому имени сборки в контекст загрузки, попытка загрузки завершится неудачей.If an assembly is loaded with LoadFrom, and later an assembly in the load context attempts to load the same assembly by display name, the load attempt fails. Это может произойти при десериализации сборки.This can occur when an assembly is de-serialized.

  • Если сборка загружается с LoadFrom, и путь поиска сборок включает сборку с тем же идентификатором, но другое расположение, InvalidCastException, MissingMethodException, или другие непредсказуемые последствия.If an assembly is loaded with LoadFrom, and the probing path includes an assembly with the same identity but a different location, an InvalidCastException, MissingMethodException, or other unexpected behavior can occur.

  • Метод LoadFrom требует наличия флагов FileIOPermissionAccess.Read или FileIOPermissionAccess.PathDiscovery либо наличия объекта WebPermission для заданного пути.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Если образ в машинном коде для assemblyFile, он не используется.If a native image exists for assemblyFile, it is not used. Сборка не может быть загружена как нейтральная к домену.The assembly cannot be loaded as domain neutral.

  • В .NET Framework версий 1.0 и 1.1 политика не применяется.In the .NET Framework version 1.0 and 1.1, policy is not applied.

Безопасность

FileIOPermission
для чтения URI, который начинается с «file://».for reading a URI that begins with "file://". Связанное перечисление: ReadAssociated enumeration: Read

WebPermission
для чтения URI, который не начинается с «file://».for reading a URI that does not begin with "file://".

LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence) LoadFrom(String, Evidence)

Предупреждение

Этот API устарел.

Загружает сборку, заданную именем файла или путем к этому файлу и предоставленным свидетельством безопасности.Loads an assembly given its file name or path and supplying security evidence.

public:
 static System::Reflection::Assembly ^ LoadFrom(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ securityEvidence);
[System.Obsolete]
[System.Obsolete("This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of LoadFrom which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public static System.Reflection.Assembly LoadFrom (string assemblyFile, System.Security.Policy.Evidence securityEvidence);
static member LoadFrom : string * System.Security.Policy.Evidence -> System.Reflection.Assembly
Public Shared Function LoadFrom (assemblyFile As String, securityEvidence As Evidence) As Assembly

Параметры

assemblyFile
String String String String

Имя файла, содержащего манифест сборки, либо путь к нему.The name or path of the file that contains the manifest of the assembly.

securityEvidence
Evidence Evidence Evidence Evidence

Свидетельство для загрузки сборки.Evidence for loading the assembly.

Возвраты

Загруженная сборка.The loaded assembly.

Исключения

Файл assemblyFile не найден, или модуль, который вы пытаетесь загрузить, не указывает расширение имени файла.assemblyFile is not found, or the module you are trying to load does not specify a filename extension.

Не удалось загрузить файл, который был найден.A file that was found could not be loaded.

-или--or- Параметр securityEvidence не является неоднозначным и определяется как недопустимый.The securityEvidence is not ambiguous and is determined to be invalid.

-или--or-

Возможность выполнения кода в удаленных сборках отключена.The ability to execute code in remote assemblies is disabled. См. элемент <loadFromRemoteSources>.See <loadFromRemoteSources>.

assemblyFile не является допустимой сборкой. Например, это 32-разрядная сборка в 64-разрядном процессе.assemblyFile is not a valid assembly; for example, a 32-bit assembly in a 64-bit process. Дополнительные сведения см. в разделе исключений.See the exception topic for more information.

-или--or- В настоящий момент загружена среда CLR версии 2.0 или более поздней версии. Сборка assemblyFile была скомпилирована в более поздней версии.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

База кода, которая не начинается с "file://", была указана без требуемого разрешения WebPermission.A codebase that does not start with "file://" was specified without the required WebPermission.

Параметр assemblyFile представляет собой пустую строку ("").The assemblyFile parameter is an empty string ("").

Длина имени сборки превышает максимальную длину, определенную в системе.The assembly name exceeds the system-defined maximum length.

Комментарии

assemblyFile Параметр должен ссылаться на URI без escape-символы.The assemblyFile parameter must refer to a URI without escape characters. Этот метод предоставляет escape-символы для всех недопустимых символов в URI.This method supplies escape characters for all invalid characters in the URI.

Примечание

Протокол передачи файлов (FTP) не поддерживается.File transfer protocol (FTP) is not supported. Если указан URI для assemblyFile является адресом FTP, сборка не загружается.If the URI supplied for assemblyFile is an FTP address, the assembly is not loaded. Исключение не возникает.No exception is thrown.

assemblyFile может быть абсолютным или относительным для текущего каталога, и сборка загружается в домен вызывающего объекта.assemblyFile may be absolute or relative to the current directory, and the assembly is loaded into the domain of the caller.

Сборки могут загружаться в одном из трех контекстов или могут быть загружены без контекста:Assemblies can be loaded into one of three contexts, or can be loaded without context:

  • Контекст загрузки содержит сборки, обнаруженные в результате поиска: в глобальном кэше СБОРОК, в хранилище сборки хранить Если размещается среда выполнения или в ApplicationBase и PrivateBinPath домена приложения.The load context contains assemblies found by probing: in the GAC, in a host assembly store if the runtime is hosted, or in the ApplicationBase and PrivateBinPath of the application domain. В большинстве перегруженных версий метода Load сборки загружаются именно в этот контекст.Most overloads of the Load method load assemblies into this context.

  • Контекст загрузки с содержит сборки, для которых пользователь указал путь не включен в каталоги поиска проверки.The load-from context contains assemblies for which the user provided a path not included in the directories searched by probing. К примерам методов, которые выполняют загрузку по указанному пути, относятся методы LoadFrom, CreateInstanceFrom и ExecuteAssembly.LoadFrom, CreateInstanceFrom, and ExecuteAssembly are examples of methods that load by path.

    Начиная с .NET Framework 4, если URI assemblyFile указывает удаленного расположения, загрузка сборки отключен по умолчанию и LoadFrom вызывает метод FileLoadException.Starting with .NET Framework 4, if the URI of assemblyFile specifies a remote location, assembly loading is disabled by default, and the LoadFrom method throws a FileLoadException. Чтобы включить выполнение кода, загруженного из удаленных расположений, можно использовать <loadFromRemoteSources> элемента конфигурации.To enable execution of code loaded from remote locations, you can use the <loadFromRemoteSources> configuration element.

  • Контекст только для отражения содержит сборки, загруженные с ReflectionOnlyLoad и ReflectionOnlyLoadFrom методов; код в этих контекстах, не может быть выполнена.The reflection-only context contains assemblies loaded with the ReflectionOnlyLoad and ReflectionOnlyLoadFrom methods; code in these contexts cannot be executed.

  • Если пользователь создается или найти сборку, это не в любом контексте.If the user generated or found the assembly, it is not in any context. Это относится к сборкам, загруженным с помощью перегрузки Load метод, который указывается массив байтов, содержащий сборку, а чтобы временные динамические сборки, созданные с помощью отражения для создания и не сохраняются на диске.This applies to assemblies loaded using overloads of the Load method that specify a byte array containing an assembly, and to transient dynamic assemblies created with reflection emit and not saved to disk.

Контекст загрузки с сборку необходимо загрузить из пути, не включается в область поиска и еще позволяет зависимости по этому пути, чтобы найти и загрузить, так как сведения о пути хранятся в контексте.The load-from context allows an assembly to be loaded from a path not included in probing, and yet allows dependencies on that path to be found and loaded because the path information is maintained by the context.

LoadFrom Метод имеет следующие недостатки.The LoadFrom method has the following disadvantages. Вместо этого рекомендуется использовать Load.Consider using Load instead.

  • Если сборка с тем же идентификатором уже загружена, метод LoadFrom возвращает загруженную сборку даже в том случае, если был задан другой путь.If an assembly with the same identity is already loaded, LoadFrom returns the loaded assembly even if a different path was specified.

  • Если сборка загружается с LoadFromи последующие попытки загрузить ту же сборку по отображаемому имени сборки в контекст загрузки, попытка загрузки завершится неудачей.If an assembly is loaded with LoadFrom, and later an assembly in the load context attempts to load the same assembly by display name, the load attempt fails. Это может произойти при десериализации сборки.This can occur when an assembly is deserialized.

  • Если сборка загружается с LoadFrom, и путь поиска сборок включает сборку с тем же идентификатором, но другое расположение, InvalidCastException, MissingMethodException, или другие непредсказуемые последствия.If an assembly is loaded with LoadFrom, and the probing path includes an assembly with the same identity but a different location, an InvalidCastException, MissingMethodException, or other unexpected behavior can occur.

  • Метод LoadFrom требует наличия флагов FileIOPermissionAccess.Read или FileIOPermissionAccess.PathDiscovery либо наличия объекта WebPermission для заданного пути.LoadFrom demands FileIOPermissionAccess.Read and FileIOPermissionAccess.PathDiscovery, or WebPermission, on the specified path.

  • Если образ в машинном коде для assemblyFile, он не используется.If a native image exists for assemblyFile, it is not used. Сборка не может быть загружена как нейтральная к домену.The assembly cannot be loaded as domain neutral.

  • В .NET Framework версий 1.0 и 1.1 политика не применяется.In the .NET Framework version 1.0 and 1.1, policy is not applied.

От свидетельства зависит, предоставляются ли сборке определенные разрешения.Whether certain permissions are granted or not granted to an assembly is based on evidence. Далее приведены правила для сборки и слияние свидетельством безопасности.The rules for assembly and security evidence merging are as follows:

  • При использовании LoadFrom метод, не имеющий Evidence параметр, сборка загружается со свидетельством, предоставленным загрузчиком.When you use a LoadFrom method with no Evidence parameter, the assembly is loaded with the evidence that the loader supplies.

  • При использовании LoadFrom метод с Evidence параметра, части свидетельства объединяются.When you use a LoadFrom method with an Evidence parameter, pieces of evidence are merged. Части свидетельство, предоставляемое в качестве аргумента LoadFrom метод замещают фрагменты свидетельства, предоставленные загрузчиком.Pieces of evidence supplied as an argument to the LoadFrom method supersede pieces of evidence supplied by the loader.

  • Если этот метод вызывается несколько раз к той же сборке, но с разными свидетельствами, среда CLR не создает исключение FileLoadException , так как невозможно определить равенство и целостность различных спецификаций свидетельства.If you call this method more than once on the same assembly but with a different evidence specified, the common language runtime does not throw a FileLoadException because the equality and integrity of the different evidence specifications cannot be determined. Свидетельство сначала выполняется успешно, это свидетельство, который используется.The evidence that first succeeds is the evidence that is used.

  • При использовании LoadFrom метод с Byte[] параметр для загрузки общего объекта файла формате COFF образа, свидетельство объединяется.When you use a LoadFrom method with a Byte[] parameter to load a common object file format (COFF) image, evidence is combined. Zone, Url и Site наследуются от вызывающей сборки и Hash и StrongName берутся из сборки COFF.Zone, Url and Site are inherited from the calling assembly, and Hash and StrongName are taken from the COFF assembly.

  • При использовании LoadFrom метод с Byte[] параметр и Evidence для загрузки образа в формате COFF, используется только предоставленное свидетельство.When you use a LoadFrom method with a Byte[] parameter and Evidence to load a COFF image, only the supplied evidence is used. Свидетельство вызывающей сборки и свидетельство образа в формате COFF учитывается.Evidence of the calling assembly and evidence of the COFF image is ignored.

Безопасность

SecurityPermission
на загрузку сборки со свидетельством.to load an assembly with evidence. Связанное перечисление: ControlEvidenceAssociated enumeration: ControlEvidence

FileIOPermission
для чтения URI, который начинается с «file://».for reading a URI that begins with "file://". Связанное перечисление: ReadAssociated enumeration: Read

WebPermission
для чтения URI, который не начинается с «file://».for reading a URI that does not begin with "file://".

Дополнительно

Применяется к