1
我有一個簡單的要求,在項目目錄中創建一個名爲user.config文件,但僅當它不存在時。MSBuild複製或創建文件,如果不存在
第一次嘗試:
<Target Name="BeforeBuild">
<ItemGroup>
<Line Include="line01"><Text><appSettings></appSettings></Text></Line>
<LineText Include="%(Line.Text)" />
</ItemGroup>
<WriteLinesToFile File="user.config" Lines="@(LineText)" Overwrite="false" />
</Target>
不起作用,因爲它附加到文件
第二次嘗試:
<Target Name="BeforeBuild">
<CreateItem Include="user_example.config">
<Output ItemName="ItemsThatNeedToBeCopied" TaskParameter="Include" />
</CreateItem>
<Copy SourceFiles="@(ItemsThatNeedToBeCopied)" DestinationFolder="$(ProjectDir)" Condition="!Exists('%(RootDir)%(Directory)%(Filename)%(Extension)')" />
</Target>
不起作用,因爲好像沒有什麼改變和在詳細的msbuild輸出中沒有任何內容告訴我爲什麼
任何MSBuild的專家應該很容易看到我做錯了什麼......
如何改變最後一行在第一次嘗試' '?還要弄清楚爲什麼第二個工作不起作用(在命令行上傳遞/ v:d)和/或添加一個Message任務,其中顯示諸如%(RootDir)%(Directory)%(文件名)%(Extension) –
stijn
@Stijn,在第一次嘗試中改變最後一行的工作就像一個魅力。您可以添加它作爲答案,我會在這裏獎勵您正確的答案。 – Trygve
@stijn。希望你看到這一點。 – Trygve