2015-10-29 59 views
0

有沒有辦法在Visual Studio後生成事件中將外部文件的內容讀入變量?如何在Visual Studio中將外部文件讀取到生成後事件的變量中?

我想這樣做的原因是我們希望生成一個事件後每個開發人員都會將構建的程序集複製到某個本地UNC路徑,但每個開發人員都可能有不同的UNC路徑。所以我們不能將路徑硬編碼到項目文件中。如果我們能夠讀取外部文件,那麼我們可以在源代碼管理中忽略它,只需要在該文件中設置路徑值即可。

如果無法讀取文件,還有其他方法可以實現嗎?

回答

0

據我所知,你不能在VS post-build事件中將外部文件讀入變量。但是,您可以運行外部批處理文件併爲其提供參數。這使我們能夠從源頭控制排除這樣的腳本,然後檢查其在生成後事件的存在和執行他們,如果他們存在,像這樣做的每開發人員生成後批處理腳本:

CD "$(ProjectDir)" 
IF EXIST postBuild.bat (
@ECHO Post-build script exists at: $(ProjectDir)postBuild.bat - executing... 
CALL "$(ProjectDir)postBuild.bat" "$(TargetPath)" "$(TargetDir)" 
) 

顯然批處理文件和後構建可以稍後擴展,以在需要時傳遞更多參數。項目目錄中的批處理文件postBuild.bat然後看起來像這樣:

@REM ********** 
@REM Post-build script; assumes params: 
@REM postBuild.bat "$(TargetPath)" "$(TargetDir)" 
@REM ********** 

@ECHO TargetPath: %1 
@ECHO TargetDir: %2 

[...] 
相關問題