2010-12-09 69 views
5

J'ai une solution avec un projet d'application web (WAP), qui construit et empaquette dans Visual Studio. Mais, quand je lance cette tâche Albacore msbuild, cela ne fonctionne pas.Comment créer un projet d'application Web .NET à l'aide de la tâche msbuild d'Albacore?

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

Je reçois cette erreur

La cible "Package" n'existe pas dans le projet .... Solution.sln

Comment puis-je construire un WAP et faire un paquet utilisant Albacore et râteau?

Mise à jour: tâche de travail

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 

Répondre

8

Lorsque vous créez un fichier de solution que vous ne pouvez utiliser les objectifs suivants.

  • Construire
  • Reconstruire
  • Clean
  • Publish

Si vous essayez d'invoquer la cible de package sur un projet d'application Web (WAP) puis, vous pouvez utiliser la syntaxe suivante pour l'appeler pour chaque WAP dans cette solution.

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

Les projets WAP possèdent un point d'ancrage spécial permettant d'appeler une cible pendant une génération. Cela est activé par le lorsque la propriété DeployOnBuild=true et la cible qui est appelée est définie par la propriété DeployTarget.

Je ne suis pas sûr de la syntaxe Rake pour cela, mais si vous pouviez l'afficher ici pour d'autres, ce serait idéal.