Visual Studio 在哪里保存它自己的 nuget.exe 副本?

Where does Visual Studio keep it's own copy of nuget.exe?

我想知道 Visual Studio 在哪里保存 nuget.exe 的副本,以便我可以在我计划执行的自定义 msbuild 目标中使用该路径。

不久前,Visual Studio 中的 NuGet 包还原不是自动的:您必须导入自定义 .targets 文件,以便在构建之前还原包。当时,nuget.exe 的副本与每个解决方案一起保存在 .nuget 文件夹中。如今,Visual Studio 在构建时会自动执行此操作,这向我表明某处有一个 nuget.exe 文件可用于恢复解决方案的包。

理想情况下,我想知道它使用 MSBuild 宏的路径,因为那样的话无论在哪台机器上构建项目都无关紧要,路径将始终指向正确的位置。

对于那些可能好奇的人,我想开始分发我们在私有 nuget 提要上拥有的内部库,并打算在构建时使用 nuget.exe 构建 nupkg 文件。我知道 NuGetter,但它比我想要的要复杂和不灵活,所以我觉得至少从纯 msbuild 方法开始会更简单。

I'd like to know where Visual Studio keeps it's copy of nuget.exe

它没有。 Nuget 是一个加载项,只是 DLL。在我的机器上,它存储在 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\clzwekqw.krr 目录中。目录名称的 "clzwekqw.krr" 部分不会从一台机器重复到另一台机器,它是动态创建的。避免加载项相互干扰的基本机制。

可以得到Nuget.exe,它可以通过Nuget获得:) 获取Nuget.CommandLine包,当前版本的项目页面is here .它将像往常一样安装在项目的子目录中。当前 packages\NuGet.CommandLine.2.8.3\tools,只有 .exe