В моем сценарии командной оболочки я загружаю пользовательскую сборку, а затем создаю экземпляр класса этой сборки на New-Object
.Не удалось загрузить файл или сборку
Assembly.LoadFile()
Выполняется успешно, но инструкция New-Object
дает исключение ниже.
New-Object : Exception calling ".ctor" with "1" argument(s): "Could not load file or assembly 'MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of i
ts dependencies. The system cannot find the file specified."
Сценарий:
[System.Reflection.Assembly]::LoadFile("MyAssembly.dll")
$a=New-Object MyAssembly.MyClass -ArgumentList "arg1"
Это пользовательские ссылки сборки только следующие узлы
System
System.Core
System.Runtime.Serialization
System.Xml.Linq
System.Data
System.Xml
Я попытался явно загрузке DLL System.Runtime.Serialization, как показано ниже. Но такое же исключение
[System.Reflection.Assembly]::Load("System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
Любая идея?
В: Ваша сборка зарегистрирована в gac? – Mitul
Нет, он не зарегистрирован в GAC. – nhrobin
Попробуйте LoadFrom, чтобы узнать, работает ли он http://msdn.microsoft.com/en-us/library/1009fa28.aspx. – Mitul