我创建了一个新的Net Standard库,我想将该程序包发布到本地nuget存储库中。
为了实现它,我有两种方法:使用命令行,或使用Visual Studio提供的发布选项。
使用命令行,我在命令行中使用了“ add”关键字(由于它是非HTTP包源),并且运行良好,它使用nuget.sha512文件创建了nuget包。
使用Visual Studio提供的发布选项,我无法复制以前的行为,因为它复制了命令行中的“ push”关键字。
在同一本地存储库中,我无法保存两个不同的程序包,一个程序包具有.nupkg.sha512文件,而另一个程序包没有.nupkg.sha512文件,因为nuget程序包管理器将仅找到这些扩展名为“ .nupkg.sha512”的程序包。
有什么办法可以告诉Visual Studio使用publish选项复制“添加”行为吗?
谢谢。
答案 0 :(得分:1)
有什么办法可以告诉Visual Studio使用publish选项复制“添加”行为吗?
恐怕没有一种直接的方法可以告诉Visual Studio使用publish选项复制“添加”行为,因为 NuGet CLI 仅支持add命令。我们无法将其与publish选项一起直接使用。
作为解决方法,您可以在发布项目时添加自定义目标以调用NuGet CLI。
要完成此操作,请编辑您的项目。然后在项目的最后,在结束标签Print("Location locale" + " " + Locale.getDefault().language)
之前,放在脚本下面:
</project>
注意:由于此自定义目标依赖于目标 <Target Name="AddPackage" AfterTargets="GenerateNuspec">
<Message Text="Add Package to the local nuget repository!"></Message>
<Exec Command="<PathOfNuGetCli>\nuget.exe add "<PathOfPackage>\xxx.1.0.0.nupkg" -source "<localNuGetRepository>""></Exec>
</Target>
,因此它将执行两次,但不必担心,第一次执行时,它将没有任何实际操作(该软件包尚未发布到指定文件夹中。
希望这会有所帮助。