Visual studio 2013 VisualStudio把它放在哪里;谁有自己的nuget.exe副本?

Visual studio 2013 VisualStudio把它放在哪里;谁有自己的nuget.exe副本?,visual-studio-2013,msbuild,nuget,nuget-server,Visual Studio 2013,Msbuild,Nuget,Nuget Server,我想知道Visual Studio将其nuget.exe副本保存在何处,以便我可以在计划执行的自定义msbuild目标中使用该路径 不久前,Visual Studio中的NuGet包还原不是自动的:您必须导入一个自定义的.targets文件,以便在生成包之前还原包。当时,每个解决方案都在.nuget文件夹中保存了一份nuget.exe副本。现在,VisualStudio在构建时会自动执行此操作,这向我表明,在某个地方有一个nuget.exe文件,它用于恢复解决方案的包 理想情况下,我希望使用MS

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

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

理想情况下,我希望使用MSBuild宏知道它的路径,因为这样无论在哪台机器上生成项目,路径都将始终指向正确的位置

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

我想知道Visual Studio在哪里保存它的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包,即当前版本的项目页面。它将像往常一样安装在项目的子目录中。目前打包了\NuGet.CommandLine.2.8.3\tools,只有.exe

Wow,真的吗?这一点现在我想起来是很明显的:P.我从来没有想过nuget.exe本身可能在一个包中。这实际上很好地解决了这个问题!如果你能用这个词来回答,我会记下来的。我觉得这可能是另一个问题,但是,如果不考虑.exe,nuget扩展如何导入包呢?exe和扩展是否调用了一个通用的代码库来完成这些工作(这将是我编写代码的方式,但我不确定它是如何工作的)。我在windows中进行了搜索,但在任何地方都没有找到exe,因此我感到困惑。Visual Studio中的NuGet软件包管理器大量使用了NuGet.Core.dll共享文件,NuGet.exe也使用该文件。如果在程序文件中搜索,则应找到NuGet.Core.dll和使用的其他dll。但是Visual Studio中的NuGet加载项和NuGet.exe都有相当数量的代码用于启动还原过程。@MattWard这与我的想法一致。现在很有道理了,谢谢。