将最新版本的 Nuget 包 XYZ 安装到 XYZ\1.2.3 文件夹中的命令行是什么?



我有以下Powershell脚本:

param(
[Parameter(Mandatory = $true, Position = 1)]$PackageId,
$PackagesDir = "$env:USERPROFILE.nugetpackages",
$Flavour = 'net462',
$Source)
if (-not (Test-Path "$PackagesDirnuget.exe"))
{
mkdir $PackagesDir -ErrorAction SilentlyContinue
curl -Uri "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe" -OutFile "$PackagesDirnuget.exe"          
}
if ($Source)
{
$SourceSwitch = "-Source","$Source"
}
&"$PackagesDirnuget.exe" install $PackageId -OutputDirectory $PackagesDir -NonInteractive $SourceSwitch
$PkgDir = $(&"$PackagesDirnuget.exe" list $PackageId -source $PackagesDir) -replace ' ','.'
$Base = "$PackagesDir$PkgDirlib$Flavour$PackageId"
@{
Path = (dir "$Base.dll","$Base.exe" -ErrorAction SilentlyContinue).FullName
}

它执行以下操作:

  1. 下载 nuget.exe如果在包目录下找不到
  2. 在包目录下安装给定的包。因此,对于具有最新版本 1.2.3 的软件包 XYZ,它会在给定的软件包 dir 下创建一个目录 XYZ.1.2.3。
  3. 尝试猜测主包程序集的路径并将其返回。

我希望包在 XYZ\1.2.3 中,而不是在 XYZ.1.2.3 中

我该怎么做?

附言

我会很高兴对脚本的任何其他改进,因为我是 nuget 的新手,可能做错了。

答案是使用 nuget add 命令,如下所述 - https://learn.microsoft.com/en-us/nuget/tools/cli-ref-add

此布局称为分层源。

相关内容

  • 没有找到相关文章

最新更新