2010-09-16 5 views

Odpowiedz

4

Dostałem go do pracy, w końcu. Najtrudniejsze jest to, że cele SharePoint nie istnieją, gdy MSBuild ładuje plik .sln, musisz załadować poszczególne pliki .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

Czy jest jakaś praktyczna różnica między używaniem '/ t: Package' a'/t: Build/p: IsPackaging = True'? – JohnC

0

Ustaw głosem MSBuilda na "maksimum" i powinieneś zobaczyć, co jest wywoływane z konsoli budowania.

W VS2010 oczywiście :)

+0

Ustawiłem wcześniej na "Diagnostyka", ilość generowanego hałasu uniemożliwiła znalezienie niczego. – skolima

1

Również do projektu pakietu z msbuild można użyć obiektu docelowego Pakiet:

  • Zdefiniuj nowy cel "BuildAndPackage"

    <Target Name="BuildAndPackage"> 
        <CallTarget Targets="Build"/> 
        <CallTarget Targets="Package"/> 
    </Target> 
    
  • Używaj nowy cel w procesie kompilacji:

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

ale takie podejście nie poleca ponieważ może to spowodować błędy w procesie budowania TFS ..

+0

Doskonałe rozwiązanie, dzięki! –