我想將應用程序部署到服務器列表。我有所有的構建問題照顧,但我有麻煩發佈到服務器列表。我想從一個外部文件中讀取服務器列表,並調用目標傳遞每個服務器的名稱。MSBUILD批處理目標
<ItemGroup>
<File Include="$(SolutionFolder)CP\Build\DenormDevServers.txt" />
</ItemGroup>
<Target Name="DeployToServer" Inputs="Servers" Outputs="Nothing">
<Message Text="Deployment to server done here. Deploying to server: @(Servers)" />
</Target>
<Target Name="Test">
<ReadLinesFromFile File="@(File)">
<Output TaskParameter="Lines" ItemName="Servers" />
</ReadLinesFromFile>
<CallTarget Targets="DeployToServer" ContinueOnError="true"></CallTarget>
</Target>
我似乎無法得到它的「部署」到列表中的每個服務器。輸出如下所示:
Deployment to server done here. Deploying to server:
請注意,沒有服務器名稱,也不會超過一次。 DenormDevServers.txt中有2行
是否需要MsBuild目標批處理,可以從問題標題中解釋?目標批處理是一種特定的功能,在目標的輸入和輸出之間執行最新檢查,並且在移動到下一個輸入之前調用目標中的所有任務用於單個輸入。 http://msdn.microsoft.com/en-US/library/ms228229(v=vs.80).aspx – fsimonazzi