2010-09-16 8 views

Répondre

4

Je l'ai à travailler, enfin. La partie difficile est le fait que les cibles SharePoint n'existent pas lorsque MSBuild charge le fichier .sln, vous devez charger les fichiers individuels .csproj.

set msbuild="C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" 
set config=Debug 
set outdir="C:\out\" 
%msbuild% /p:Configuration=%config% /m ../My.SharePoint.Project/My.SharePoint.Projectcsproj /t:Package /p:BasePackagePath=%outdir% 
+0

Y a-t-il une différence pratique entre l'utilisation de '/ t: Package' et// t: Build/p: IsPackaging = True'? – JohnC

0

Définissez la verbosité de MSBuild sur 'maximum' et vous devriez voir ce qui est appelé depuis la console de construction.

En VS2010 bien sûr :)

+0

Je l'ai réglé sur 'Diagnostic' avant, la quantité de bruit généré a rendu impossible toute découverte. – skolima

1

Aussi pour empaqueter le projet avec msbuild vous pouvez utiliser la cible Paquet:

  • Définir nouvelle cible "BuildAndPackage"

    <Target Name="BuildAndPackage"> 
        <CallTarget Targets="Build"/> 
        <CallTarget Targets="Package"/> 
    </Target> 
    
  • utilisation nouvelle cible dans le processus de construction:

    <Project ToolsVersion="4.0" DefaultTargets="BuildAndPackage"> 
    

Mais cette approche non recommandée car il peut provoquer des erreurs dans le processus de construction TFS ..

+0

Excellente solution, merci! –

Questions connexes