MSBuild调用Web项目的包目标

时间:2011-11-22 14:39:41

标签: visual-studio-2010 msbuild

是否有人知道需要安装的组件才能通过MSBuild提供Package目标。

可以Package在安装了Visual Studio的计算机上使用MSBuild,但不能在仅安装了.NET 4 SDK和Web Deploy 2.0的构建服务器上使用MSBuild,这会导致以下错误:

msbuild "Package" does not exist in the project.

部分归结为服务器上的以下丢失文件:

c:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\*.*

当然可以通过将MSBuild VisualStudio文件夹的内容复制到构建服务器上的等效目录来解决这个问题,但这不是服务器配置的可管理解决方案。

我读过的所有答案都涉及安装Visual Studio或复制文件。当然可以在不安装Visual Studio的情况下编译Web Deploy包吗?

2 个答案:

答案 0 :(得分:6)

我有一个没有安装VS的TeamCity CI服务器构建一个Web项目,该项目配置为在成功构建时也创建一个部署包。然而,对于我的生活,我不记得我是手动复制这些文件还是由某个组件安装它们。

如果你想试一试,我安装的相关组件如下:

  1. .NET 4.0 SDK;
  2. Microsoft Visual Studio 2010 Shell (Integrated) Redistributable Package;
  3. Visual Studio 2010 SDK; (不是VS 2010 SDK SP1)
  4. Microsoft Visual Studio 2010 Visualization & Modeling SDK;
  5. Web Deploy 2.0;
  6. 我安装了VS Shell,以便能够安装VS 2010 SDK,而后者又需要安装Visualization&建模SDK,以便我能够在构建服务器上运行T4转换。

    使用这些组件并配置以下MSBuild属性DeployOnBuild=true;DeployTarget=Package来创建部署包我没有遇到任何问题,但正如我之前所说,我可能已经放弃了希望找到更清洁的解决方案后手动复制文件现在我的大脑阻止了对这种不良行为的记忆。

答案 1 :(得分:0)