2014-11-03 67 views
0

我有3個項目的解決方案。在項目1中,當我參考當地中的一個類時,項目CreateInstance可以正常工作。在不同的項目中使用CreateInstance作爲類

Dim oo As New Object = Assembly.GetExecutingAssembly().CreateInstance("TestClass", True) 
oo.TestSub() 

但是,當它在其中一個項目中時,它返回「Nothing」。

Dim oo As New Object = Assembly.GetExecutingAssembly().CreateInstance("Project2.Business.TestClass", True) 
oo.TestSub() 

任何想法?

謝謝!

+0

類型按組件存儲(通常是一個項目)。 GetExecutingAssembly始終引用當前正在執行的代碼所屬的程序集。如果你想創建一個類型爲Froma的實例,你將需要對THAT程序集的引用,或者從該程序集中調用GetExecutingAssembly。 – 2014-11-03 17:57:08

回答

1

類型按組件存儲(通常是一個項目)。 GetExecutingAssembly始終引用當前正在執行的代碼所屬的程序集。如果你想創建一個類型爲Froma的實例,你將需要對THAT程序集的引用,或者從該程序集中調用GetExecutingAssembly。

您可以使用'Assembly.Load'來獲得對程序集的引用(即使它已被加載)並在其上調用'.CreateInstance'。

相關問題