我正在编写一个脚本,它会自动将Nuget文件打包并发布到我的私有存储库(文件共享)和私有符号服务器(本地主机上)。从'nuget pack'命令检索创建的NuGet包文件名?
当我在PowerShell中运行nuget pack
我得到一个同时包含的NuGet和符号包的文件位置的字符串输出,但据我可以告诉有没有办法编程获得这些路径不必解析字符串。软件包的版本由.csproj本身决定,所以我不一定知道哪个版本将放在文件名中。
下面是从包命令的输出:
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'.
如果我只是硬着头皮写一些正则表达式来解析出“成功创建包”线?
呀,'OutputDirectory'是我使用现在唯一的问题是我需要代码包和符号包进入不同的目录(实际上,符号到一个http服务器)。 临时文件夹...现在有一个想法。 – nemec
@nemec:如果您使用临时文件夹,您可以先将**。symbols.nupkg *移动到您的符号服务器。这只会将实际的软件包留在临时文件夹中,并且您可以通过将** .nupkg *移动到NuGet文件共享来完成,而不需要使用正则表达式来匹配确切的文件名称等。 – Nailuj