在Visual Studio中是否有“ZIP项目”?
问题描述:
在Visual Studio中有几个“安装和部署”项目,其中之一是“CAB项目”。在Visual Studio中是否有“ZIP项目”?
但其实我是想一个简单的“ZIP工程”,使我从我的解决方案添加一些文件夹+的DLL和打包这一切在网络上方便地分发的zip文件。
有没有这样的项目类型?
当我想自己创建这个, 什么资源和参考应该用 来构建这个?
编辑
@Cheeso
我创建了这对所有的子项目的依赖虚拟“类库”项目。 在这个虚拟项目中,我使用了生成后事件来使用7-zip压缩dll。 但我希望有一个更好的解决方案。
答
如果我明白你在做什么之后,一个快速简单的解决方案可能是编写一个powershell或Javascript脚本或一个批处理文件,作为生成后事件运行。
你可能需要一个zip库。 DotNetZip的作品。
答
MSBuild Extension Pack提供了一些您可以使用的compression tasks。
例如,编辑您的项目文件,取消注释'AfterBuild'目标并包含合适的压缩任务,以打包所需的内容。
<Project>
...
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
-->
<Target Name="AfterBuild">
<ItemGroup>
<!-- Set the collection of files to Zip-->
<FilesToZip Include="C:\YourContent\*"/>
</ItemGroup>
<MSBuild.ExtensionPack.Compression.DNZip TaskAction="Create" CompressFiles="@(FilesToZip)" ZipFileName="C:\YourZipFile.zip"/>
</Target>
</Project>