将网站部署包构建为postbuild事件

Vad*_*bak 3 msbuild visual-studio-2010 msdeploy

我正在使用visual studio 2010.我有一个网站项目,我想在每次构建项目时构建一个网站部署包.基本上我正在寻找一个post build MSBuild命令的例子,该命令基本上与网站右键菜单中的"Build Deployment Package"选项做同样的事情.

Say*_*imi 8

我假设您正在使用Web应用程序项目,因为Web站点项目没有"构建部署包".

我建议不要在每个构建上执行一个包,因为它会大大减慢您的开发速度.话虽如此,你可以在这里做到这一点.

如果您真的想要这样做,最好的办法是不使用构建后事件,而是编辑项目文件并扩展构建过程.要执行此操作,请打开Web的.csproj文件,然后向底部(在导入元素之后)打开以下内容

<PropertyGroup>
  <BuildDependsOn>
    $(BuildDependsOn);
    Package
  </BuildDependsOn>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

这样做是扩展构建过程以调用Package目标.这与在Visual Studio中调用"构建部署包"目标时调用的目标相同.

  • 我得到了循环依赖(但仅在从命令行构建时,而不是在VS内部)."CreatePackage"不起作用(目标不存在).为了将包作为每个构建的一部分,我将Project元素的DefaultTargets更改为"Build; Package",这似乎解决了Sayed关于在构建期间不进行打包的问题(来自VS内部),但支持生成Package作为一部分命令行构建 (6认同)
  • 这不起作用.存在涉及目标"Build"的循环依赖.(包裹调用Build,Build call Package ...) (2认同)