Загрузка сборок в FrameWork 2.0
Чем заменить вот такой код:
Assembly assembly = Assembly.LoadWithPartialName("System.Windows.Forms" );
прекрасно работавший в первом фрэймворке?
Все попытки сделать так:
Assembly assembly = Assembly.Load("System.Windows.Forms" );
или так:
AssemblyName assemblyInfo = new AssemblyName("System.Windows.Forms" );
assemblyInfo.Version = new Version(2,0,0,0);
Assembly assembly = Assembly.Load(assemblyInfo);
приводят к FileNotFoundException...
И может кто-нибудь посоветует что-нибудь почитать про динамическую загрузку сборок во втором фрэймворке?
Re: Загрузка сборок в FrameWork 2.0
От:
xexe2
Дата: 07.04.06 14:55
Оценка:
Здравствуйте, Сергей И., Вы писали:
СИ>Чем заменить вот такой код:
СИ>СИ>Assembly assembly = Assembly.LoadWithPartialName("System.Windows.Forms" );
СИ>
СИ>прекрасно работавший в первом фрэймворке?
СИ>Все попытки сделать так:
СИ>СИ>Assembly assembly = Assembly.Load("System.Windows.Forms" );
СИ>
СИ>или так:
СИ>СИ>AssemblyName assemblyInfo = new AssemblyName("System.Windows.Forms" );
СИ>assemblyInfo.Version = new Version(2,0,0,0);
СИ>Assembly assembly = Assembly.Load(assemblyInfo);
СИ>
СИ>приводят к FileNotFoundException...
СИ>И может кто-нибудь посоветует что-нибудь почитать про динамическую загрузку сборок во втором фрэймворке?
Assembly assembly = Assembly.Load("System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" );
?
ну вроде и все:)
Re[2]: Загрузка сборок в FrameWork 2.0
Здравствуйте, xexe2, Вы писали:
X>X>Assembly assembly = Assembly.Load("System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" );
X>
X>?
О! Спасибо
Так гораздо лучше
Re[3]: Загрузка сборок в FrameWork 2.0
От:
tazo_
Дата: 07.04.06 23:36
Оценка:
Здравствуйте, Сергей И., Вы писали:
СИ>Здравствуйте, xexe2, Вы писали:
X>>X>>Assembly assembly = Assembly.Load("System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" );
X>>
X>>?
СИ>О! Спасибо Так гораздо лучше
Как вариант, можно прописать в конфиге приложения:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="System.Windows.Forms"
fullName="System.Windows.Forms,version=2.0.0.0,publicKeyToken=b77a5c561934e089,culture=neutral"/>
</assemblyBinding>
</runtime>
</configuration>
Тогда в коде можно использовать частичное имя сборки:
Assembly assembly = Assembly.Load( "System.Windows.Forms" );
То есть, элемент qualifyAssembly конфига отображает короткое имя на полное имя сборки.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Загрузка сборок в FrameWork 2.0
О! Спасибо
Загрузка сборок в FrameWork 2.0
От:
Аноним
Дата: 07.04.06 14:31
Оценка:
3 (1)
Смотрите статью
Avoid Partial Binds . Там описано, как работает LoadWithPartialName и почему этот метод убрали в .NET Framework 2.0
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Загрузка сборок в FrameWork 2.0
От:
Аноним
Дата: 12.04.06 11:24
Оценка:
Ответ быстрый, но неверный. Я извиняюсь, что опять подымаю эту тему, но проблема не решена.
Речь идёт о загрузке сборки с ЧАСТИЧНО указанным именем. Например, моя проблема звучит похоже: требуется загрузить сборку, зная её имя (например, "System.Data") и МИНИМАЛЬНУЮ ВЕРСИЮ (любая, но новее 2.0). Так как же это сделать?
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re[2]: Загрузка сборок в FrameWork 2.0
От:
Andrbig
Дата: 12.04.06 12:04
Оценка:
Здравствуйте, Thornik, Вы писали:
T>Ответ быстрый, но неверный. Я извиняюсь, что опять подымаю эту тему, но проблема не решена.
T>Речь идёт о загрузке сборки с ЧАСТИЧНО указанным именем. Например, моя проблема звучит похоже: требуется загрузить сборку, зная её имя (например, "System.Data") и МИНИМАЛЬНУЮ ВЕРСИЮ (любая, но новее 2.0). Так как же это сделать?
Есть ли в FW 2 енумерация GAC? Если нет, то используя всякие GAC API, как в FW 1.
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить