msbuild自定义任务

Sha*_*ane 5 msbuild publish msbuild-task visual-studio

我有一个自定义的MSBuild任务,它接受一组JavaScript文件,缩小它们并输出它们,扩展名为.min.js.当我通过Visual Studio进行正常构建时,它完美地工作,并且.min.js文件输出到与原始文件相同的目录.当我尝试使用Visual Studio中的"发布"功能进行部署时,只有原始.js文件才能进入发布目录....如何将我的任务输出计为"内容",以便它将结束在已发布的文件夹中?

编辑:我能够通过在我的任务中添加Output标签然后创建一个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>
Run Code Online (Sandbox Code Playgroud)

The*_*esa 0

更改文件属性。检查这些文件的“构建操作”和“复制到输出目录”属性。