按需或保存时MSBuild复制任务

按需或保存时MSBuild复制任务,msbuild,visual-studio-2017,csproj,Msbuild,Visual Studio 2017,Csproj,我有一个csproj文件,它在构建时复制共享(链接)文件,如下所示: <Target Name="CopyLinkedContentFiles" BeforeTargets="Build"> <Copy SourceFiles="%(None.Identity)" DestinationFiles="%(None.Link)" SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" ContinueOnErro

我有一个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中的building所做的:call
    msbuild/t:Build
    ),可以添加一个外部命令(转到“工具->外部工具…”),并为其指定一个按钮和/或键盘快捷键。命令应该是“msbuild.exe”(如果需要,完整路径),参数是“$(ProjectDir)$(ProjectFileName)/t:CopyLinkedContentFiles”。

    !它真的起作用了!一些注释:我必须指出正确的msbuild.exe,在我的例子中,它是{path to visual studio 2017}\msbuild\15.0\Bin\msbuild.exe。我还必须给它一个菜单位置和一个键盘快捷键。总之,这是一个很好的答案。谢谢是的,很抱歉,我忘记了我尝试使用的VS实例,它是从VS命令行启动的,因此路径中已经有了msbuild