我正在编写一个脚本,该脚本将自动打包 Nuget 文件并将其发布到我的私有存储库(文件共享)和私有符号服务器(在本地主机上)。
当我nuget pack在 Powershell 中运行时,我得到一个字符串输出,其中包含 nuget 和符号包的文件位置,但据我所知,在不解析字符串的情况下无法以编程方式获取这些路径。包版本由 .csproj 本身决定,所以我不一定知道哪个版本会放在文件名中。
这是 pack 命令的输出:
Attempting to build package from 'MyProject.csproj'.
Building project 'C:\Users\me\prg\MyProject.csproj' for target framework '.NETFramework,Version=v4.0'.
Packing files from 'C:\Users\me\prg\bin\Release'.
Using 'Myproject.nuspec' for metadata.
Successfully created package 'C:\nuget\MyProject.1.0.0.0.nupkg'.
Attempting to build symbols package for 'MyProject.csproj'.
Building project 'C:\Users\me\prg\MyProject.csproj' for target framework '.NETFramework,Version=v4.0'.
Packing files from 'C:\Users\me\prg\bin\Release'.
Using 'MyProject.nuspec' for metadata.
Successfully created package 'C:\nuget\Myproject.1.0.0.0.symbols.nupkg'.
Run Code Online (Sandbox Code Playgroud)
我应该咬紧牙关写一些正则表达式来解析“成功创建的包”行吗?
默认情况下nuget pack会将创建的包输出到当前目录。您可以通过指定OutputDirectory选项来覆盖它。我不清楚你从哪里运行nuget命令(无论是从C:\Users\me\prg\、C:\nuget\还是其他地方),所以你可能已经知道这一点,但它可以为你提供另一种选择:
您可以为自己创建一个临时目录(例如C:\nuget\temp\),您可以将其指定为您的OutputDirectory选项。如果你在你的脚本中确保在你运行之前这个目录是空的nuget pack,你可以简单地将 * .nupkg复制到你的文件共享(然后将它移动到C:\nuget\,如果需要的话)。
| 归档时间: |
|
| 查看次数: |
3200 次 |
| 最近记录: |