2014-01-24 80 views
1

在Visual Studio解決方案資源管理器中就可以設置「建設行動」和「複製到輸出目錄」的文件查看文件屬性時:複製文件夾發佈地點bin文件夾

enter image description here

我問題是:如何告訴Visual Studio將完整的文件夾和子文件夾/文件複製到輸出目錄?

如果我查看該文件夾的屬性選項是不是有:

enter image description here

我嘗試使用後生成的命令:

XCOPY "$(SolutionDir)Lib/XULRunner21_0" "$(OutDir)XULRunner21_0/" /E /I /F /Y 
XCOPY "$(SolutionDir)Lib/ABCGecko.dll" "$(OutDir)" /E /I /F /Y 

文件被編譯之前複製,但而不是在發佈期間,因此不起作用。

回答

1

您需要將每個文件的Build操作設置爲「Content」。然後,他們將被分配到輸出文件夾(在任何項目中的子文件夾,它們所在的位置也將輸出文件夾下創建)

+0

我明白,但對於單個文件來說沒問題,但是這個文件夾有很多包含文件夾和文件的子文件夾。我知道可以手動設置每個文件的「內容」,但這將是我看到的1600個文件 –

+0

的一個工作。我注意到你已經建立了「無」的行動。你能壓縮內容並讓應用程序在安裝後解壓縮並刪除zip文件嗎?僞:if(IsFileExists(「1600files.zip」)){解壓「1600files.zip」;刪除「1600files.zip」} – Frode

+0

感謝您的選擇,但我認爲它應該是部署的一部分,而不是從代碼複製文件。 –

0

你可以任意擴展你的構建過程如下所述: http://msdn.microsoft.com/en-us/library/ms366724.aspx

例如,在您的項目文件:

<Target Name="BeforePublish"> 
    <Exec Command="XCOPY ..." /> 
    <Exec Command="XCOPY ..." /> 
</Target> 
+3

鑑於他正在嘗試做什麼,'AfterPublish'可能更適合,因爲他可能會刪除發佈時的所有項目。 – flindeberg

0

對不起:我剛纔看到你最後的評論(「文件將發佈,這樣不工作期間在編譯之前複製的,但不是。」),所以發行問題仍然存在。然而;我們應該能夠擴展用於BeforePublish和AfterPublish目標名稱的Visual Studio生成過程,以便修復發佈問題described here.

這是如何告訴Visual Studio將完整的文件夾和子文件夾/文件複製到輸出目錄。

首先將您的文件夾(這是我的文件夾XULRunner21_0)添加到項目中,並將所有項目添加到項目中,然後轉到項目的Properties> Build Events,並將以下命令行寫入Post-build事件命令行區。在構建解決方案之後,您應該看到項目的bin文件夾下將創建XULRunner21_0文件夾,其中包含所有項目。

就是這樣,希望它有幫助。

xcopy /E /Y "$(ProjectDir)XULRunner21_0\*" "$(ProjectDir)$(OutDir)XULRunner21_0\"