我有一个简单的要求,即在项目目录中创建一个名为user.config的文件,但前提是该文件尚不存在。
第一次尝试:
<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>
Run Code Online (Sandbox Code Playgroud)
不起作用,因为它会附加到文件中
第二次尝试:
<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>
Run Code Online (Sandbox Code Playgroud)
不起作用,因为似乎什么也没发生,并且冗长的msbuild输出中什么也没有告诉我为什么
任何MSBuild专家都应该轻松了解我在做什么错...
第一次尝试几乎是完成此操作的规范方法,除了缺少的条件(每个MsBuild任务都支持)之外,您基本上就做到了:
<WriteLinesToFile File="user.config" Lines="@(LineText)" Overwrite="True"
Condition="!Exists('user.config')"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1911 次 |
| 最近记录: |