Domanda

Ho uno script PowerShell che aggiorna la mia soluzione:

Add-PSSnapin Microsoft.SharePoint.PowerShell
write-host $args[0]
Update-SPSolution -Identity PkbInfo.SP.wsp -literalpath $args[0] -GACDeployment 
.

Quando lo eseguo con SP 2010 Gestione Shell (senza aggiunta-PSSnapin ovviamente) Esegue OK, ma quando provo ad eseguirlo con il comando NANT:

  <target name="sp.update">
    <exec failonerror="true" program="${powershell.exe}">   
    <arg value="-noprofile" />
    <arg value="-nologo" />
    <arg value="-noninteractive" />
    <arg value="-command" />
    <arg value="${ps.script.name} ${ps.copyto.folder}" />
    </exec>
  </target>
.

ottengo un errore:

     [exec] Update-SPSolution : c:\shared\PkbInfo.wsp: The specified file was no
t found.
     [exec] At C:\Users\me\Documents\production\sharepoint\nant_powershell
.ps1:5 char
     [exec] :18
     [exec] + Update-SPSolution <<<<  -Identity PkbInfo.SP.wsp -literalpath $arg
s[0] -GACDe
     [exec] ployment
     [exec]     + CategoryInfo          : ReadError: (:) [Update-SPSolution], Fi
leNotFound
     [exec]    Exception
     [exec]     + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdl
etUpdateSo
     [exec]    lution
     [exec]
     [exec] Update-SPSolution : Zgłoszono wyjątek typu 'Microsoft.SharePoint.Pow
erShell.SPC
     [exec] mdlet+SkipCurrentRecordException'.
.

Quindi sembra che l'argomento che passerò non è analizzato, che è strano, perché la scrittura-host in entrambi i casi (con guscio di gestione e Nant) visualizza il percorso corretto. Eventuali idee Perché i $ args [0] in update-spsolution non vengono convertiti in argomento effettivo quando si esegue con Nant?

È stato utile?

Soluzione

prova e metti un $ () intorno al tuo percorso letterale, come così:

Update-SPSolution -Identity PkbInfo.SP.wsp -literalpath $($args[0]) -GACDeployment  
.

Puoi anche utilizzare Risoluve-Path se il tuo percorso è relativo

Su una nota a lato: ricorda che aggiorna-spsolution solo funziona finché aggiorni i manufatti esistenti (ad esempio Nessun modulo nuovo o cancellato / funzionalità / rootfiles)

Altri suggerimenti

Provi a correre:

Update-SPSolution -Identity PkbInfo.SP.wsp 
.

e ottieni l'errore:

 [exec] Update-SPSolution : c:\shared\PkbInfo.wsp: The specified file was no  
t found.
.

Controlla il tuo nome file:)

(So che puoi avere un'identità e un nome file diversa, ma nessuno lo cambia mai, giusto?)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top