5

在 Visual Studio 中有几个“设置和部署”项目,其中之一是“ CAB 项目”。

http://i55.tinypic.com/21cxaoi.png

但我实际上想要一个简单的“ZIP 项目”,它使我能够从我的解决方案中添加一些文件夹 + dll,并将它们全部打包在一个 zip 文件中,以便在网络上轻松分发。

  • 有这样的项目类型吗?

  • 当我想自己创建它时,我应该使用哪些资源和参考来构建它?

编辑
@Cheeso
我创建了一个虚拟的“类库”项目,它依赖于所有子项目。在这个虚拟项目中,我使用构建后事件使用 7-zip 压缩 dll。但我希望有一个更好的解决方案。

4

3 回答 3

4

MSBuild 扩展包提供了一些您可以使用的压缩任务。

例如,编辑您的项目文件,取消注释“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>
于 2011-02-08T03:58:45.427 回答
1

如果我了解您的需求,一个快速简便的解决方案可能是编写一个作为构建后事件运行的 powershell 或 Javascript 脚本或批处理文件。
您可能需要一个 zip 库。DotNetZip 有效。

于 2011-01-31T11:32:14.687 回答
0

DPack有一个(营销不佳的)功能,称为解决方案备份,它将从 Visual Studio 中创建解决方案的 zip 文件。

安装是免费且无痛的。

于 2011-02-08T04:57:51.057 回答