C# Nuget:如何使用packages.config重新创建包目录

C# Nuget:如何使用packages.config重新创建包目录,c#,nuget,C#,Nuget,我已使用Nuget安装了StructureMap 我不想签入已创建的包目录 如何使用packages.config重新创建包目录 我尝试了更新包,但没有成功(没有发生任何事情,我只是第一次得到了一点延迟) My packages.config: 请参见NuGet网站上的这篇文章: 本文展示了如何设置NuGet来恢复解决方案所需的所有包。此NuGet功能称为“NuGet软件包还原”。我知道您已经批准了一个答案,但我想我会分享我所做的 在VS2010中,我进入了工具->库包管理器>包管理器控制台 我

我已使用Nuget安装了StructureMap

我不想签入已创建的目录

如何使用
packages.config
重新创建包目录

我尝试了
更新包
,但没有成功(没有发生任何事情,我只是第一次得到了一点延迟)

My packages.config:


请参见NuGet网站上的这篇文章:


本文展示了如何设置NuGet来恢复解决方案所需的所有包。此NuGet功能称为“NuGet软件包还原”。

我知道您已经批准了一个答案,但我想我会分享我所做的

在VS2010中,我进入了工具->库包管理器>包管理器控制台 我在控制台中键入了这个命令

PM> Install-Package NuGetPowerTools
然后我打了这个

PM> Enable-PackageRestore
这将在我的解决方案的顶层放置一个名为.nuget的文件夹

在那个文件夹中,我创建了一个名为restore.bat的文件,内容是这个

cd ..
for /f "tokens=* delims=" %%i in ('dir /s /b packages.config') do (
.nuget\nuget.exe install -o packages "%%i"
)
cd .nuget
运行bat文件将完全重新安装包文件中的所有内容


为了完成这项工作,我在我的项目中创建了一个名为.nuget的解决方案文件夹,其中包含了bat文件和其他垃圾文件,这样其他开发人员就不用想太多了。

哈哈。。。令人惊讶的是,当我将package.config文件从旧的解决方案替换到新的解决方案中,并启动package Manager控制台时,它会自动猜到,如果我想恢复所有的包,它会给我一个按钮。我只是点击了一下,瞧!都做完了。我正在使用Visual Studio 2012。希望它能帮助别人。
谢谢

为什么要更新没有packages.config的项目?它会修改csproj文件,使其具有PackageStore标志。这将设置项目是否具有任何nuget引用,以便在以后向项目添加nuget引用时,无需重新运行该命令。该命令无效:/StructureMap内容未添加。只有powertool的东西。你有没有构建你的应用程序?它在生成时运行还原。@Senient很抱歉,您不想遵循NuGet定义的NuGet最佳实践。此功能是NuGet 1.6版的一部分;获得此功能不再需要安装NuGetPowerTools。因此,我是否仍需要启用包还原并运行还原。bat?启用包还原时,更新包将成为生成过程的一部分;它将msbuild任务添加到.nuget目录,并将其与解决方案生成关联。我尝试了此操作,得到“未能将导入'nuget.targets'添加到myproject。我能做什么?@GuidoG可能会停止使用9年以上问题的答案。”。