2010-02-08 199 views
1

在VS2010編寫代碼並運行:如何在基於.NET Framework 4.0的應用程序中使用System.Windows.Forms,Version = 2.0.0.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爲目標,那你爲什麼要嘗試使用而不是目標.NET 4?

編輯2:如果不創建另一個面向.NET 3.5或更早版本的程序集,這是不可能的。

+0

我想使用Control.FromHandle函數從另一個應用程序獲取控件,如果目標應用程序基於.net 2.0,則必須使用System.Windows.Forms.dll版本2.0。 – maskx 2010-02-08 07:05:11

+0

@maskx:檢查我的編輯:) – 2010-02-08 07:21:04

+0

extern別名無法解決此問題 當我從C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727添加System.Windows.Forms.dll refrence時,它會自動更改爲v4.0 從我的示例代碼中,即使我從byte []加載,它將更改爲v4.0 – maskx 2010-02-08 07:55:55

相關問題