2017-02-27 41 views
1

我在Visual Studio上下文中使用NuGet进行包管理。我有一个packages.config文件,并且它可以在我的项目中的一个软件包目录下。如何从PowerShell脚本引用NuGet包文件?

NuGet将每个软件包下载到为该软件包命名的目录及其版本号。我需要在PowerShell中访问这些包中的文件,但是我想避免在文件路径中包含版本号,因为如果我想在packages.config中升级版本,那需要手动更改。

回答

2

我会使用包配置文件

建设的路径自己
# Get solution folder 
$PathToSolution = "C:\Some\Path\SolutionFolder" 

# find all packages under the solution folder 
$configs = gci $PathToSolution -Filter packages.config -recurse 

# get content of every package config file 
$configs.fullname | %{[xml]$packages = Get-Content $_; 
        $packages.packages.package | foreach{ 
               # Get pacakge attributes 
               $packageId=$_.id; 
               $packageVersion=$_.version; 
               # Build the path from the build attributes 
               $Path="$PathToSolution\packages\$packageId.$PackageVersion"; 
               Write-output $Path}} 

我想补充的唯一事情是包路径的唯一性检查,因为很有可能你使用的是包在一个以上项目