MSBuild 按需或保存复制任务
MSBuild copy task on demand or on save
我有一个 csproj 文件,可以在构建时复制共享(链接)文件,如下所示:
<Target Name="CopyLinkedContentFiles" BeforeTargets="Build">
<Copy SourceFiles="%(None.Identity)" DestinationFiles="%(None.Link)" SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" ContinueOnError="true" Condition="'%(None.Link)' != ''" />
</Target>
我将它用于核心 ts 和 css 文件。现在,每次我更改这些文件中的某些内容时,我都必须重建以便在打开的解决方案中更新这些文件。
有什么方法可以做到以下任何一项:
- 手动触发其中一个文件的复制
- 创建一个任务以在保存这些文件时自动复制
- 我无法预见的其他方式?
谢谢!
在项目文件中调用目标的唯一方法是启动 msbuild。如果您不想调用构建目标(这实际上是 VS 中的构建:调用 msbuild /t:Build
),您可以添加一个外部命令(转到 'Tools->External Tools...')并分配一个按钮 and/or 的快捷键。该命令应为 'msbuild.exe'(如果需要,则为完整路径),参数为“$(ProjectDir)$(ProjectFileName) /t:CopyLinkedContentFiles”。
我有一个 csproj 文件,可以在构建时复制共享(链接)文件,如下所示:
<Target Name="CopyLinkedContentFiles" BeforeTargets="Build">
<Copy SourceFiles="%(None.Identity)" DestinationFiles="%(None.Link)" SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" ContinueOnError="true" Condition="'%(None.Link)' != ''" />
</Target>
我将它用于核心 ts 和 css 文件。现在,每次我更改这些文件中的某些内容时,我都必须重建以便在打开的解决方案中更新这些文件。
有什么方法可以做到以下任何一项:
- 手动触发其中一个文件的复制
- 创建一个任务以在保存这些文件时自动复制
- 我无法预见的其他方式?
谢谢!
在项目文件中调用目标的唯一方法是启动 msbuild。如果您不想调用构建目标(这实际上是 VS 中的构建:调用 msbuild /t:Build
),您可以添加一个外部命令(转到 'Tools->External Tools...')并分配一个按钮 and/or 的快捷键。该命令应为 'msbuild.exe'(如果需要,则为完整路径),参数为“$(ProjectDir)$(ProjectFileName) /t:CopyLinkedContentFiles”。