Question:
I’m trying to run the following command in a PowerShell script.
nuget pack MyNuGetSpec.nuspec -Version 1.2.3-alpha
When I have this PS code, I get an error..
Code:
1 2 3 4 5 6 7 |
"NuGet packing $file to a .nupkg ..." $exe = $path + "nuget.exe pack $file -Version $version" $exe &$exe |
and the error message..
NuGet packing MyNuGetSpec.nuspec to a .nupkg … C:\Projects\Foo\NuGet
Package Specifications\nuget.exe pack MyNuGetSpec.nuspec -Version
1.2.3-alpha & : The term ‘C:\Projects\Foo\NuGet Package Specifications\nuget.exe pack MyNuGetSpec.nuspec -Version 1.2.3-alpha’
is not recognized as the name of a cmdlet, function, script file, or
operable program. Check the spelling of the name, or if a path was
included, verify that the path is correct and try again. At
C:\Projects\Foo\NuGet Package Specifications\build.ps1:106 char:10
+ &$exe
+ ~~~~
+ CategoryInfo : ObjectNotFound: (C:\Projects\Foo… 0.1.0-alpha:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : CommandNotFoundException
1 2 3 4 |
$path == Directory: C:\Projects\Foo\NuGet Package Specifications $file == `MyNuGetSpec.nuspec` $version == 0.1.0-alpha` |
Lastly, I have the .exe side-by-side (in the same folder) as the .nuspec
file.
Answer:
You need to separate the executable name from the arguments:
1 2 3 4 |
$exe = $path + "nuget.exe" &$exe pack $file -Version $version |