2014-04-15 238 views

回答

6

當您清理解決方案時(除非您更改項目屬性,但這不能解決您的問題),項目的bin文件夾內的文件夾始終會被刪除。

最簡單的方法是將所需的文件夾添加到您的項目和文件夾中的exe文件。將exe文件的屬性更改爲「內容」和「始終複製」。

通過這樣做,每次重建解決方案時,輸出都將具有文件夾和exe文件。

如果EXE文件的變化,你可以將其添加爲一個鏈接;確保您每次都能獲得最新版本。

+0

,如果我有什麼空文件夾?我有名爲Temp的空文件夾,在其中創建並刪除臨時文件。我無法爲文件夾設置「始終複製」。 – user3111311

+0

在輸出文件夾,VS僅複製其將被用於:正在由需要被複制(例如文檔)的代碼和內容引用的DLL。這樣做的時候,默認情況下它會嘗試保持項目的結構。這意味着如果一個文件夾是空的,它將不會被複制,因爲VS將其檢測爲無用的東西。就我所知,這就是它的工作原理。在你的案例解決方案中一個醜陋但有用的可能是創建你想要的文件夾,並在其中放置一個虛擬文件,如「Dummy.txt」空文件。 –

+0

另一種方法是從您的代碼創建目錄,然後自動複製該文件。 –

1

在您的項目只需創建一個文件夾,該文件夾中添加一個引用您的exe文件,然後將EXE的Copy to Output Directory屬性設置爲Copy always/Copy if newer

,其中該exe是將在輸出目錄被複制的文件夾結構。

1

在項目中創建一個文件夾,將exe文件放入其中,並將「Copy To Output Directory」屬性設置爲「Copy if newer」。

0

添加mkdir命令生成後事件命令行項目選項 - >生成事件

0

你可以爲使用生成後事件。 項目屬性 - >生成事件 - >後生成事件命令行「從a複製到b」

或第二個選項,你在你的項目中創建一個文件夾「外部」,並把你的exe文件。將屬性「Copy to Output Direcotry」設置爲「始終複製」。

3

再或者另一種方式..

使用Post build event你寫DOS命令。

例如,在你的情況,你可以這樣寫:

mkdir $(TargetDir)\External 
xcopy SOURCE_DIR_EXE $(TargetDir)\External\EXE_NAME 
0

嘗試將此融入構建過程:

<ItemGroup> 
    <_CopyItems Include="$(your_path)\*.*" /> 
</ItemGroup> 
<Copy 
    SourceFiles="@(_CopyItems)" 
    DestinationFolder="$(BuildOutput)\External" 
/> 
0

在解決方案中創建您的願望名稱的文件夾,添加文件有(添加現有項),右鍵單擊文件,並設置BuildAction爲None,CopyToOutputDIrectoryCopy AlwaysCopy If Newer,重建項目,就是它!

相關問題