2012-02-09 103 views
2

我們擁有少數C#項目和一個安裝項目的解決方案。整個解決方案綁定到TFS源代碼管理(並且整個文件夾結構映射到源代碼管理)。阻止Visual Studio 2010安裝項目將文件添加到源代碼管理

所有項目都有相同的輸出文件夾 - 父文件夾映射到源代碼管理,但輸出文件夾不會添加到源代碼管理。

安裝項目設置爲將輸出文件夾中的特定程序集添加到GAC(文件系統編輯器 - >添加 - >程序集 - >瀏覽)。 Visual Studio自動將這些程序集添加到源代碼管理。由於這些程序集是我們的項目,我們不希望它們在源代碼控制中,因爲它們在每個構建中都會重新生成。

我們不希望使用主要輸出,因爲:

  • 設置增添了很大的依賴性
  • 的剔除它們是容易的,但每次我們改變引用什麼的時候,安裝項目被刷新,發現這樣的
  • 我們希望控制哪些文件將與我們的設置被dsitributed無需安裝工程的干擾新的依賴什麼

有什麼想法?

回答

2

對我來說聽起來像整個地方不好的做法。

首先,貴公司擁有TFS,Visual Studio 2010,但仍然使用soon-to-be-obsolete Visual Studio部署項目。不管你喜歡與否,遲早你都會轉向WiX。

如果你或你的利益相關者仍然堅持vdproj,爲什麼從GAC引用你自己的程序集?初級輸出遠非完美,但它在開發機器上勝過GAC。 GAC在運行時,而不是設計時間©

最後,即使由於某種原因,您仍然希望引用您自己的二進制文件,請從保存在源代碼管理控件而不是GAC中的常見lib文件夾中執行此操作。

+0

我們剛剛遷移到VS2010(而在VS2008上一切正常)。我不知道即將過時的部署項目,謝謝。我們的程序集必須轉到GAC,因爲它們被我們的自定義SQL Server SSIS組件使用,因此它們必須位於GAC中。項目輸出不是一個選項,因爲它找到了太多不需要的依賴關係,並且對其中的一些排除了= false。 ClickOnce不是一個選項,因爲它不能在GAC中存儲程序集。我會看看WiX。投注了有用的信息。 – 2012-02-10 12:43:06

+0

將您的帖子標記爲答案,因爲無法實現我嘗試實現的目標,並且您對壞習慣有很好的觀點。 – 2012-02-21 16:06:41

+1

[「對於正確的問題,通常含糊不清的答案要好得多,而不是對錯誤問題的確切答案,而答案總是可以精確的。」](http://en.wikipedia.org/wiki/John_Tukey #Quotes) - John Tukey – KMoraz 2012-02-21 21:10:11

相關問題