【问题标题】:How can I download NuGet after build as part of a .csproj file so that I can create a .nupkg file?如何在构建后作为 .csproj 文件的一部分下载 NuGet,以便创建 .nupkg 文件?
【发布时间】:2014-10-16 13:00:02
【问题描述】:
我有一个包含一些 .dll 的 C# 项目,我想将其打包到一个 .nupkg 文件中。当 nuget.exe 已经下载到 .nuget 文件夹时,这可以正常工作,但是当 nuget.exe 不存在时,它不会自动下载,即使 .nuget\NuGet.targets 文件具有设置 DownloadNuGetExe 已设置到true。
经过一番调查,如果没有要导入的包,nuget.exe 似乎不会下载。但我需要下载 nuget.exe,以便它可以在开发人员机器和构建服务器上创建一个 .nupkg 文件(而不是管理将包/引用导入到项目中)。
如何解决此限制?我更喜欢只修改 .csproj 文件的解决方案。
【问题讨论】:
标签:
c#
visual-studio-2012
nuget
nuget-package
【解决方案1】:
不确定这是否是最佳解决方案,但我们通常将 nuget.exe 放入 .nuget 文件夹,并确保将其签入源代码管理,以便在开发人员下载最新代码时下载它。
这不是最优雅的解决方案,但由于我们实际上对代码进行了 nuget 化,因此我们不再有一个包含所有内容的怪物解决方案,我们发现每个解决方案/项目都需要以某种方式提供自己的 nuget.exe。这种方法一直对我们有用,希望它也对您有用...!
【解决方案2】:
我们设法找到了解决方案,方法是导入 .nuget\NuGet.targets 文件,然后像这样调用名为 _DownloadNuGet 的目标:
<CallTarget Targets="_DownloadNuGet" />