我正在尝试在powershell脚本中运行以下命令。
nuget pack MyNuGetSpec.nuspec -Version 1.2.3-alpha
当我有这个PS代码时,我收到错误..
代码:
"NuGet packing $file to a .nupkg ..."
$exe = $path + "nuget.exe pack $file -Version $version"
$exe
&$exe
和错误消息..
NuGet将MyNuGetSpec.nuspec打包到.nupkg ... C:\ Projects \ Foo \ NuGet 包规格\ nuget.exe包MyNuGetSpec.nuspec -Version 1.2.3-alpha& :术语'C:\ Projects \ Foo \ NuGet包规范\ nuget.exe包MyNuGetSpec.nuspec -Version 1.2.3-alpha' 不被识别为cmdlet,函数,脚本文件或的名称 可操作程序。检查名称的拼写,或路径是否正确 包含,验证路径是否正确,然后重试。在 C:\ Projects \ Foo \ NuGet包规范\ build.ps1:106 char:10 +& $ exe + ~~~~ + CategoryInfo:ObjectNotFound:(C:\ Projects \ Foo ... 0.1.0-alpha:String)[],ParentContainsErrorRecordException + FullyQualifiedErrorId:CommandNotFoundException
$path == Directory: C:\Projects\Foo\NuGet Package Specifications
$file == `MyNuGetSpec.nuspec`
$version == 0.1.0-alpha`
最后,我将.exe与.nuspec
文件并排(在同一文件夹中)。
有人可以帮忙吗?
答案 0 :(得分:6)
您需要将可执行文件名与参数分开:
$exe = $path + "nuget.exe"
&$exe pack $file -Version $version
答案 1 :(得分:5)
轻微改动,
$path="c:\..."
$file= "MyNuGetSpec.nuspec"
$version= "0.1.0-alpha"
Invoke-Expression "$($path)\nuget.exe pack $($file) -Version $($version)"
这应该用适当的参数执行nuget.exe