如何使用Albacore的msbuild任务构建.NET Web应用程序项目?

时间:2010-12-09 17:38:07

标签: msbuild rake albacore

我有一个Web应用程序项目(WAP)的解决方案,它在Visual Studio中构建和打包。但是,当我运行此Albacore msbuild任务时,它不起作用。

msbuild :build do |msb| 
  msb.solution = '../../src/Solution.sln'
  msb.targets :clean, :build, :Package
  msb.properties = { 
    :configuration => :Dev
  } 
end

我收到此错误

  

项目中不存在目标“包”.... Solution.sln

如何使用Albacore和rake构建WAP并制作包?

更新:工作任务

msbuild :build do |msb| 
  msb.solution = '../../src/Solution.sln'
  msb.targets :clean, :build
  msb.parameters = '/p:DeployOnBuild=true;DeployTarget=Package'
  msb.properties = { 
    :configuration => :Dev
  } 
end 

1 个答案:

答案 0 :(得分:8)

构建解决方案文件时,只能使用以下目标。

  • 构建
  • 重建
  • 清洁
  • 发布

如果您尝试在Web应用程序项目(WAP)上调用Package目标,则可以使用以下语法为该解决方案中的每个WAP调用它。

msbuild YourSolution.sln /p:DeployOnBuild=true;DeployTarget=Package

WAP项目有一个特殊的钩子来在构建期间调用任何目标。这是通过DeployTarget属性定义属性DeployOnBuild=true和调用的目标时启用的。

我不确定Rake的语法是什么,但如果你可以在这里发布给其他理想的语法。