如何在MSBuild中压缩文件夹?

Jon*_*len 3 msbuild

如何在MSBuild中压缩输出文件夹?对于文件名,我需要使用一个在别处设置的变量.

gra*_*der 6

"MSBuild.Community.Tasks.Zip"是一种方式.未定义WorkingCheckout和OutputDirectory.

但你可以得到下面的漂移.

下面将获取我的zip文件中不是.config文件的所有文件.

注意"主机"是我的自定义csproj文件夹名称,您的将是不同的.

<ItemGroup>
    <ZipFilesHostNonConfigExcludeFiles Include="$(WorkingCheckout)\Host\bin\$(Configuration)\**\*.config" />
</ItemGroup>
<!-- -->
<ItemGroup>
    <ZipFilesHostNonConfigIncludeFiles Include="$(WorkingCheckout)\Host\bin\$(Configuration)\**\*.*" Exclude="@(ZipFilesHostNonConfigExcludeFiles)" />
</ItemGroup>
<MSBuild.Community.Tasks.Zip Files="@(ZipFilesHostNonConfigIncludeFiles)" ZipFileName="$(OutputDirectory)\MyZipFileNameHere_$(Configuration).zip" WorkingDirectory="$(WorkingCheckout)\Host\bin\$(Configuration)\" />
<!-- -->
Run Code Online (Sandbox Code Playgroud)

这是另一个主流选项:

http://msbuildextensionpack.codeplex.com/discussions/398966