Hatte den merkwürdigsten Fehler früher, dass ich wirklich verwirrt war, so dachte ich, ich würde eine Selbst-Antwort schreiben, um Menschen zu helfen. Mein googlefu nichts ordentlich aufgedeckt, so sind wir hierVisual Studio PreBuildEvent Powershell Die Zeichenfolge fehlt der Terminator: "
Diese Linie
<PreBuildEvent>powershell.exe -noninteractive -command "$(solutiondir)\..\PreBuild.ps1" "$(TargetFileName)" "$(ProjectDir)" "$(SolutionDir)"</PreBuildEvent>
und hier ist meine PreBuild.ps1 Datei meine Original war.
Param(
[Parameter(Mandatory=$false)][string]$targetFileName,
[Parameter(Mandatory=$false)][string]$projectDir,
[Parameter(Mandatory=$false)][string]$solutionDir
)
process {
Write-Host "`$targetFileName $targetFileName";
Write-Host "`$projectDir $projectDir";
Write-Host "`$solutionDir $solutionDir";
}
Aus irgendeinem Grund die Variable $projectDir
in meinem Skript enthält sowohl das Projektverzeichnis als auch das Lösungsverzeichnis. Wie so:
2> Processing files with gulp script.
2> $targetFileName project.dll
2> $projectDir c:\src\sln\project c:\src\sln
So habe ich es zu diesem
<PreBuildEvent>powershell.exe -noninteractive -command "$(solutiondir)\..\PreBuild.ps1" "$(TargetFileName)" "$(ProjectDir)"</PreBuildEvent>
und ich diesen Fehler in VS Ausgang: The string is missing the terminator: ".
danke für das Teilen Ihrer Lösung hier, Sie könnten es als die Antwort markieren, so könnte es anderen Community-Mitgliedern helfen, die die gleichen Probleme bekommen. einfacher, die Antwort zu finden –
Danke @ Leo-MSFT war gerade versucht, es ein paar Tage zu geben und vergaß es hahaha – jcolebrand