2009-05-19 143 views
88

我想複製我的項目。我寧願不從頭開始通過添加文件和引用等來完成它。請注意,我並不意味着要部署的副本。只是簡單的複製。Visual Studio複製項目

VS中是否有工具可以做到這一點?我正在使用VS 2008

回答

112

如果你想要一個副本,最快的方法是保存項目。然後在文件系統上覆制整個文件。回到Visual Studio並打開副本。從那裏,我很可能會建議重新命名該項目/解決方案,以便您沒有兩個相同的名稱,但這是製作副本的最快方式。

+0

謝謝!有時正確的解決方案是最簡單的 – sarsnake 2009-05-19 18:18:43

+1

這就是我所做的。我通常手動編輯。* proj文件來更改名稱,例如一旦我製作副本。 – 2009-05-19 18:21:54

+0

@Soo - 這就是我所做的,但手動。* proj和.sln更改並非適用於所有人... – 2009-05-19 18:45:10

6

我想如果這是你經常做的事,有一個小(非免費)工具,有望爲你做它:我沒有使用過,所以不知道它有多好:

http://www.kinook.com/CopyWiz/

也有這個項目在CodePlex上:

http://clone.codeplex.com/

我可能會給予CodePlex項目一試,如果它不工作,我會手動重命名一切,編輯SLN文件。

1

最好的方法是從頭開始創建一個新項目,然後進入帶有要複製的項目文件的文件夾(項目,窗體1,除文件夾以外的所有內容)。 重命名文件(除了form1文件)例如:我將Ch4Ex1文件複製到我的Ch4Ex2項目中,但首先將文件重命名爲Ch4Ex2。 將這些文件複製並粘貼到Visual Studio中新項目的解決方案資源管理器中。 然後只是覆蓋文件,你應該很好去!

舊線程,但我希望它可以幫助任何人尋找這個答案!

3

我請按照下列步驟,我使用稱爲Resharper開發工具,它的方式是真棒:

所以,

  1. 複製現有的項目文件夾到目的地,你想
  2. 轉到源代碼管理,並右鍵單擊到所需的根文件夾,然後選擇「將項目添加到文件夾...」。然後,嚮導會出現以選擇要複製的文件(沒有必要對於某些文件和嚮導默認情況下爲此指導你)。
  3. 更改解決方案文件的名稱(*的.sln)子項目是否存在的
  4. 更改名稱
  5. 使用resharper更改綁定名稱空間名稱(我將自動執行安全的骯髒工作)。另一種方法是手動更改所有名稱空間與新名稱。
  6. 與方法名稱相同的動作。
  7. 檢查解決方案的屬性如果你想改變。

就是這樣。你準備好了!!!

0

我有一個項目,其中源文件位於項目文件夾下的文件夾中。當我複製沒有源文件夾的項目文件夾並打開復制的項目時,源文件不會丟失,但會在舊位置找到。我關閉了項目,複製了源文件夾,然後重新打開了項目。現在,該項目神奇地引用了複製的源文件(新路徑顯示爲「另存爲」,並且文件的更改已保存在複製版本中)。

有一個警告:如果舊的和新的項目文件夾都不在舊的庫文件夾下面,上述的魔術丟棄也是對庫的絕對引用,並且期望它在相同的相對路徑下。

我試圖與VS快遞2012年

2

它是高度不可取在所有複製的項目,因爲在一些配置文件在內部形成像的.csproj,.vspscc等可以(和最有可能將)指向屬於系統或TFS中先前解決方案的位置和其他路徑/位置的引用。除非您是閱讀這些文件和修復引用的專家,否則不要嘗試複製項目。

您可以創建一個您打算複製的相同類型的骨架項目,這會創建一個合適的.csproj,.vspscc文件。現在您可以自由複製上一個項目中的課程文件,腳本和其他內容,因爲它們不會造成影響。這將確保順利建設和版本控制(你應該選擇感興趣的是)

說了這麼多,讓我給你一個逐步的方式無論如何複製項目的方法:

  1. 轉到您要在解決方案資源管理器中複製的項目,並在右鍵單擊
  2. 現在選擇'在文件資源管理器中打開文件夾'(假設您已將解決方案映射到磁盤上的本地路徑)。
  3. 選擇項目要複製的整個文件夾
  4. 在所需位置粘貼它們(與所有的依賴關係,倉.vspscc文件,.csproj的文件一起)(也可能是您的解決方案相同的文件夾或甚至另一個解決方案文件夾。如果它位於同一個解決方案文件夾中,則需要將其重命名,並將.csproj和其他內部文件重命名爲新名稱)。
  5. 沒有回去到Visual Studio,右鍵單擊方案>添加>現有項目...
  6. 瀏覽並選擇項目文件(.csproj文件)從現在的位置,你把它放在和選擇'打開'
  7. 此文件現在出現在解決方案資源管理器中供您使用。

您現在可能需要解決一些可能存在重複/缺少引用和內容的構建錯誤,否則它就像您預期的那樣在邏輯和結構上是原始的。

20

只需創建一個模板;

從項目中選擇文件 - 導出模板

嚮導將讓你定義

  • 模板名稱
  • 模板描述
  • 圖標
  • 預覽圖像

那就是zi將您的項目添加到「我的導出模板」目錄中。 您也可以選擇在創建新項目時使模板可用。

當您使用模板來創建一個新項目,命名空間將成爲「your_new_project_name」正確遍及所有文件,所有引用正確的,一切PERFECTO :)

您可以將.zip文件發送給任何人,並且他們必須將.zip文件複製(而不是解壓縮)到Templates \ ProjectTemplates目錄中供他們使用。

我做了一個ASP.NET MVC模板,包含文件夾,佈局頁面,視圖模型等等,這些模板被安排成我喜歡它們的方式。

注意:
如果您的項目中有一個空文件夾,它不會被添加到模板中,所以我只是爲每個文件夾添加了一個空類,併爲圖像文件夾添加了一個樣例圖片。

0

我的解決方案有點不同 - 包所在的計算機已經死機,所以我不得不在另一臺計算機上重新創建它。

我做(在VS 2008)什麼是我的目錄中打開以下文件:

    - <package name>.djproj 
        - <package name>.dtproj.user 
        - <package name>.dtxs 
        - <package name>.sln 
        - Package.dtsx 

當我做這個彈出窗口問我,如果SLN文件將是一個新的解決方案,當我點擊「是」時,一切都很完美。

0

嘗試上述解決方案&創建副本後MVC項目

對於MVC項目,請更新.csproj的文件中的端口號,你可以採取IIS對ApplicationHost.config幫助檢查端口號。相同的端口號會導致IIS中的程序集加載問題。