我有一个自定义 MSBuild 任务,它接收一组 JavaScript 文件,将它们缩小并输出,扩展名为 .min.js。当我通过 Visual Studio 进行正常构建时,它运行良好,并且 .min.js 文件输出到与原始文件相同的目录。当我尝试使用 Visual Studio 中的发布功能进行部署时,只有原始的 .js 文件才能进入发布目录.... 我怎样才能让我的任务的输出被计为“内容”,以便它结束在已发布的文件夹中?
编辑:我能够通过在我的任务中添加输出标签然后围绕它创建一个 ItemGroup 来解决这个问题:
<Target Name="AfterBuild">
<ItemGroup>
<JavaScriptFiles Include="Scripts\*.js" Exclude="Scripts\*.min.js" />
</ItemGroup>
<JsCompress Files="@(JavaScriptFiles)" OutputPath="Scripts">
<Output TaskParameter="CompressedFiles" ItemName="CompressedFiles" />
</JsCompress>
<ItemGroup>
<Content Include="@(CompressedFiles)" />
</ItemGroup>
</Target>