我正在執行批處理文件中的MSBuild。 MSBuild腳本位於與MSBuild在運行腳本時考慮工作目錄的目錄不同的目錄中。當調用MSBuild.exe時,如何更改其工作目錄?更改msbuild.exe的工作目錄
編輯:更多細節
比方說,我有一些位於其他服務器上的一個MSBuild腳本。我想正是如此運行命令:
msbuild.exe \\my_server\c$\My\Path\To\Scripts\TestScript.msbuild
我在C運行該命令與我的命令提示符:\ TEMP。假設我的TestScript.msbuild有一個創建文件的任務。該文件沒有路徑只是一個文件名。我期望該文件在c:\ temp中創建。但它不會在坐在服務器上的msbuild文件旁邊創建。這是我想改變的行爲。
編輯#2
下面是我用在我的測試腳本:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Files Include="HelloWorld.txt" />
</ItemGroup>
<Target Name="TouchFiles">
<Touch Files="@(Files)" AlwaysCreate="True" />
</Target>
</Project>
我進入一個命令shell CDing到C:\ TEMP,然後執行腳本。有或者沒有@Nick Nieslanik提到的/ p:OutDir開關,HelloWorld.txt文件出現在* .msbuild文件所在的文件夾中,而不是c:\ temp。
我不知道我理解你的問題。如果我在目錄A中有一個cmd文件並從目錄B調用它,然後回顯%cd%它會將目錄B顯示爲當前目錄。因此,除非您在腳本中更改目錄,否則它應該已將當前目錄視爲工作目錄。你能澄清嗎? –
我同意你描述的行爲。但是,MSBuild似乎沒有這樣做。它似乎將* .build文件的位置作爲工作目錄。我將編輯我的問題來描述我的設置的更多細節。 – RationalGeek