2010-02-08 4 views
1

в VS2010 написать этот код и запустить:Как использовать System.Windows.Forms, Version = 2.0.0.0 в приложении .net framework 4.0?

===========

string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), @"Microsoft.NET\Framework"); 
string pathV2 = Path.Combine(path, "v2.0.50727"); 
Assembly assembly = Assembly.Load(File.ReadAllBytes(Path.Combine(pathV2, System.Windows.Forms.dll"))); 
Console.Write(assembly.Location); 

================= он будет выписывать: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll

так, как я могу использовать System.Windows.Forms, Version=2.0.0.0?

благодаря

ответ

0

Почему вы просто не предназначаться .NET 3.5 SP1 (который использует только System.Windows.Forms сборки)?

Или, если вы собираетесь нацелить .NET 4, то почему вы пытаетесь сделать не target .NET 4?

Редактировать 2: Это невозможно без создания второй сборки, предназначенной для .NET 3.5 или более ранней.

+0

Я хочу использовать функцию Control.FromHandle для управления из другого приложения, я должен использовать System.Windows.Forms.dll версии 2.0, если целевое приложение основано на .net 2.0. – maskx

+0

@maskx: check my edit :) –

+0

extern alias не может решить эту проблему , когда я добавляю refrence из System.Windows.Forms.dll из C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727, это автоматическое изменение на v4.0 из моего примера кода, о котором идет речь, даже я загружаюсь из байта [], он изменится на v4.0 – maskx

Смежные вопросы