今天查找有關低版本引用高版本的程序集。
後來發現一個同仁的文章,寫的比較好,後來實踐成功。
在app.config中添加一個配置節:startup
<
startup
useLegacyV2RuntimeActivationPolicy
=
"true"
>
<
supportedRuntime
version
=
"v4.0"
/>
</
startup
>
調用例子:
測試程序集:TestForm 爲3.5程序集
反射引用程序集:TestClass 爲4.0程序集 ,對應接口程序集:ITestClass 爲3.5
則可以在TestForm (啓動程序集)中app.config配置
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
後,啓動中加載:
/// <summary>
/// 應用程序的主入口點。
/// </summary>
[STAThread]
static void Main()
{
System.Reflection.Assembly k = System.Reflection.Assembly.LoadFile(@"盤符:\路徑\TestClass.dll");
//Namespace02.IClass1在ITestClass程序集中,需要引用到本項目中
Namespace02.IClass1 obj = k.CreateInstance("Namespace01.Class1") as Namespace02.IClass1;
string str = obj.GetHellow();
MessageBox.Show(str);
}
執行成功!
注意:
開發環境:visual studio 2010
感謝無恨星晨:
參考引用:
http://www.cnblogs.com/weixing/archive/2012/04/09/2439060.html