VS(Visual Studio)間接引用

已有條件:三個類庫:A,B,C(三個類庫的引用關係是A引用B,B引用C)

一、

題設:現在創建一個ProjectOne,僅引用A,並new了A中一個獨立的對象(該對象構造函數中未使用B),請問ProjectOne能編譯成功嗎?

回答:可以;

 

二、

題設:現在創建一個ProjectTwo,引用A,並new了A中一個對象且調用該對象的一個成員函數,該成員函數會調用B中的一個類的實例的成員函數,這個編譯能通過嗎?

回答:不行,如果將對B的引用也加到ProjectTwo中的話,就可以編譯成功。

 

注意:上面兩個問題都是針對於間接引用而產生的問題,VS在編譯過程有記憶之前引用的功能,如果第一次將間接引用加入項目,編譯成功後,將間接引用刪掉,那麼vs還是能夠找到間接引用的文件地址。這個是項目的緩存機制導致的。具體文件是DesignTimeResolveAssemblyReferencesInput.cache

 

一個工程在引用dll的時候,可以將引用方式設置爲 嵌入式的引用。這樣發佈成exe的時候,將引用的dll一起打包起來。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章