Mam projekt Visual Studio 2010 SharePoint. Jeśli wybiorę opcję "Pakiet" z menu projektu, zostanie wygenerowany plik .wsp. W jaki sposób mogę wywołać tę samą kompilację z wiersza poleceń (tj. Jaki/docelowy jest wymagany w MSBuild)?Jak mogę zbudować pakiet SharePoint 2010 za pomocą wiersza poleceń?
Odpowiedz
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%
Ustaw głosem MSBuilda na "maksimum" i powinieneś zobaczyć, co jest wywoływane z konsoli budowania.
W VS2010 oczywiście :)
Ustawiłem wcześniej na "Diagnostyka", ilość generowanego hałasu uniemożliwiła znalezienie niczego. – skolima
Jest także przydatny dokument tutaj: http://msdn.microsoft.com/en-us/ff622991.aspx
"Aby wygenerować pakiety podczas budowania w TFS 2010, należy ustawić parametr /p: IsPackaging = true na MSBuild"
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 ..
Doskonałe rozwiązanie, dzięki! –
Czy jest jakaś praktyczna różnica między używaniem '/ t: Package' a'/t: Build/p: IsPackaging = True'? – JohnC