2010-01-14 5 views
14

Wir haben eine Powershell-Build-Skript, das zu anderen Skripts, die mir Probleme gibt unter Windows 7 64 bit ruft. Es funktioniert gut unter XP. Ich habe set-executionpolicy auf RemoteSigned ausgeführt (und es auch mit Bypass und Unrestricted versucht). Ich kann die Befehlszeile aus der Fehlermeldung ziehen und es selbst ausführen, und alles läuft gut.msbuild Aufruf Powershell-Skript unter Windows 7 erhält Signing-Fehler

Buildfehler sehen hier schrecklich aus; aber ich schließe sie trotzdem der Vollständigkeit halber an.


Project "C:\dev7\Source\DashPortal\DashboardGenerator\DashboardGenerator.csproj" (2) is building "C:\dev7\Source\DashPo 
rtal\DashboardController\DashboardController.csproj" (15) on node 0 (default targets). 
    File C:\Users\pmckinney.NA\Documents\WindowsPowerShell\profile.ps1 cannot be lo 
    aded because the execution of scripts is disabled on this system. Please see "g 
    et-help about_signing" for more details. 
    At line:1 char:2 
    + . <<<< 'C:\Users\pmckinney.NA\Documents\WindowsPowerShell\profile.ps1' 
     + CategoryInfo   : NotSpecified: (:) [], PSSecurityException 
     + FullyQualifiedErrorId : RuntimeException 

    File C:\dev7\Source\DashPortal\DashboardController\..\..\..\Build\createReportI 
    nstallScript.ps1 cannot be loaded because the execution of scripts is disabled 
    on this system. Please see "get-help about_signing" for more details. 
    At line:1 char:87 
    + C:\dev7\Source\DashPortal\DashboardController\..\..\..\Build\createReportInst 
    allScript <<<< -t C:\dev7\Source\DashPortal\DashboardController\..\..\..\Sourc 
    e\DashPortal\DashboardReports\ReportSetupScriptTemplate.sql -l C:\dev7\Source\D 
    ashPortal\DashboardController\..\..\..\Source\DashPortal\DashboardReports\Repor 
    tSetupReportList.xml -c C:\dev7\Source\DashPortal\DashboardController\..\..\..\ 
    Source\DashPortal\Config 
     + CategoryInfo   : NotSpecified: (:) [], PSSecurityException 
     + FullyQualifiedErrorId : RuntimeException 

C:\dev7\Source\DashPortal\DashboardController\DashboardController.csproj(265,5): error MSB3073: The command "powershell 
C:\dev7\Source\DashPortal\DashboardController\..\..\..\Build\createReportInstallScript -t C:\dev7\Source\DashPortal\Da 
shboardController\..\..\..\Source\DashPortal\DashboardReports\ReportSetupScriptTemplate.sql -l C:\dev7\Source\DashPorta 
l\DashboardController\..\..\..\Source\DashPortal\DashboardReports\ReportSetupReportList.xml -c C:\dev7\Source\DashPorta 
l\DashboardController\..\..\..\Source\DashPortal\Config" exited with code 1. 
+0

Um die Verwendung einer MSBuild-Skriptaufgabe zu maximieren, empfiehlt es sich, ein Zertifikat zum Signieren zu erhalten. Dadurch müssen Sie nicht signierte Skripts auf jedem Buildsystem aktivieren. – Richard

Antwort

23

nur raten: Sie haben Set-ExecutionPolicy in Ihrem x64 Powershell und die Build läuft die x86 Powershell ausgeführt werden?

Vielleicht Get-ExecutionPolicy in beiden Shells versuchen.

+0

Das ist es genau! Danke vielmals! –

+0

Froh, dass ich helfen konnte ... rannte einige Male in x64/x86-Probleme – Filburt

0

Edit: oops, ich sehe, Sie bereits Skripte aktiviert. Es hat möglicherweise etwas mit dem Kontext zu tun, unter dem MSBuild ausgeführt wird. Führen Sie MSBuild als ein lokales Dienstkonto aus?

Edit2: Es ist klar, dass die Fehlermeldung trügerisch ist. Es gibt noch etwas anderes und der Ausführungsrichtlinienfehler wird ausgelöst, aber nicht aus dem erwarteten Grund. Versuchen Sie vielleicht, eine andere MSBuild-Task zu erstellen, die die gleiche Zeile, aber mit kürzeren, hartcodierten Pfaden statt der /../../../ Bonanza oben als eine Möglichkeit isoliert, zu isolieren?

+0

Ich habe jetzt Set-ExecutionPolicy zu RemoteSigned. Ich habe auch Unrestricted und Bypass ohne Glück versucht. –

+0

Ja meine schlechte, bearbeitete Antwort. Für den Rekord habe ich keine Ahnung was los ist :) –

+0

Eigentlich warst du wirklich nah dran. Siehe die Antwort von Filburt. –