qJa*_*ake 7 nuget-package visual-studio-2017 .net-standard
Visual Studio 2017中的新功能是能够在构建时为某些目标类型生成NuGet包(即,.NET Standard 2.0
我正在使用的).
这很好用,.nupkg
文件是在成功构建时生成的.
但是,我无法弄清楚如何将构建的包自动发布到我们的本地存储库.
我已经尝试了一个后期构建事件:
nuget push -Source https://my.nuget.server/nuget/ "C:\Source\MyProject\bin\Release\MyProject.1.0.0.nupkg"
Run Code Online (Sandbox Code Playgroud)
但这提出了两个问题:
nuget push $(NugetPackage)
.我也无法找出能够有效获得包名称的宏/变量组合.微软提供了这种kick-ass自动NuGet包装,但无法将其推送到本地存储库(或者看起来如此)!
有没有人得到这个工作?我错过了什么吗?有解决方法吗?这件事正在进行吗?
您可以通过直接将以下行添加到库csproj来自动化发布到nuget .您需要将环境变量设置为nuget.exe的位置,将位置添加到系统的PATH,或者将其硬输入Command
参数.
就个人而言,我更喜欢下载最新版本的nuget.exe并将其放入用户的%userprofile%\.nuget
文件夹中.这是nuget存储包的本地缓存的地方,因此它应该已经创建.
发布到远程存储库的示例.
<Target Name="PostPackNugetDeploy" AfterTargets="Pack" Condition="'$(Configuration)' == 'Release'">
<Exec Command="="%userprofile%\.nuget\nuget.exe push "$(OutputPath)$(PackageId).$(PackageVersion).nupkg" -Source "$(NuGetSourceRelease)" -Verbosity Detailed" />
</Target>
Run Code Online (Sandbox Code Playgroud)
发布到本地存储库的示例.
<Target Name="PostPackNugetDeploy" AfterTargets="Pack" Condition="'$(Configuration)' == 'Release'">
<Exec Command="%userprofile%\.nuget\nuget.exe add "$(OutputPath)$(PackageId).$(PackageVersion).nupkg" -source \\Server\Packages" />
</Target>
Run Code Online (Sandbox Code Playgroud)
您可以在这里找到有关nuget的MSBuild目标的文档https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets
归档时间: |
|
查看次数: |
3940 次 |
最近记录: |