Ich verwende einen Powershell-Build-Schritt und möchte eine Datei generieren und sie in die Artefakte aufnehmen. Hier ist, was ich versucht, aber es scheint nicht:Teamcity - Artefakt aus Powershell generieren
param(
[parameter(Mandatory=$true)] [string]$controller
)
Write-Output "Controller: $controller"
$testsettingsXML = @"
<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name="Remote" id="36b029f0-1e34-4c17-b7b1-3e6a0284a08e" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<Description>These are default test settings for a local test run.</Description>
<RemoteController name="$controller" />
<Execution location="Remote">
<TestTypeSpecific>
<UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
<AssemblyResolution>
<TestDirectory useLoadContext="true" />
</AssemblyResolution>
</UnitTestRunConfig>
</TestTypeSpecific>
<AgentRule name="AllAgentsDefaultRole">
</AgentRule>
</Execution>
<Properties />
</TestSettings>
"@
#write the testsettings file out to disk.
$testsettingsXML | Out-File -FilePath "./remotehack.testsettings" -Encoding utf8
ich eine ähnliche Sache in einem metarunner tat und es funktionierte gut. Warum nicht hier?
Ist es möglich, dass das Skript ps an dem Ort ausgeführt wird, den Sie ohne Set-Location erwarten würden? Was ist, wenn Sie für einen Testlauf einen vollständigen Pfad für den Dateipfad erstellen und sehen, ob die Datei angezeigt wird? –
Haben Sie versucht, dieses Skript manuell auf demselben Agenten unter demselben Benutzer aufzurufen? Läuft es erfolgreich? –