2

全部: 我正在研究一個解決方案,其中一個項目實際上是插件到解決方案構建的主要exe文件。由於這個項目是插件,因此從主exe引用插件是不正確的(組件不能保證在部署中存在,它是可選的)。在不使用引用的情況下設置構建依賴關係?

所以這裏是我的問題: 如果我在我的插件項目中修改代碼,然後按F-5運行,Visual Studio將不會構建我的插件(因爲基於參考樹,主exe似乎不依賴於它)。

是否有解決方案或項目級別的設置,我可以更改爲導致此插件項目在運行時包含在內(不添加引用)?

我知道工具的全局設置|選項|構建和運行,但我寧願不必在全局上改變VS的行爲,只是爲了讓這個解決方案能夠正確構建(另外,如果設置與解決方案或項目一起使用,那麼當其他開發人員檢查出來時,他們應該簡單地繼承設置)

順便說一句:這些是VS 2005解決方案中的c#項目。

回答

2

右鍵單擊Solution Explorer - > Properties - > Project Dependencies中的根節點。 (VS 2008用戶:此功能獲取可從上下文菜單中直接訪問的對話框。)

依賴關係圖表示爲複選框的鄰接列表。您選擇的每個項目都將檢查其直接引用&已禁用[假設您使用項目引用,而不是程序集引用]。其他複選框可能會被禁用,如果他們會創建一個循環依賴。

對於任何未禁用的複選框,選中/取消選中將在您的解決方案文件中寫入ProjectSection(ProjectDepedencies)部分。因此,您的設置將通過源代碼管理傳播給其他開發人員。但是,如果您使用MSBuild(包括任何版本的Team Build),它並不總是像處理Visual Studio一樣處理* .sln文件自定義。 * .sln不是原生MSBuild文件類型,不像* .proj文件。我自己遇到了這個問題described here;我也看到有時與行爲相反。

+0

明白了!我知道我以前看過那個對話,但我找不到它(最終,我一半以爲我夢見了整個事情)。謝謝。 – JMarsch 2009-07-09 14:20:37

0

我可以建議創建一個虛擬(空)項目,代表主要exe和插件的組合,並將該項目配置爲依賴兩者,但在啓動時運行EXE?

相關問題