为了在Visual Studio 2015中开发通用Windows应用程序,有没有人注意到每次使用您的解决方案启动新的VS会话时,必须将NuGet包作为构建过程的第一步进行恢复?当没有对包配置进行任何更改时,这很烦人。因此,例如,如果您只需要快速重启VS并运行您的应用程序,它必须经历这20秒的NuGet恢复,这似乎是不必要的。
是否有人知道如何实现与桌面应用程序相同的行为(即,只有在缺少NuGet包时才会恢复它们等)?
答案 0 :(得分:3)
这里的重要问题是:您是否希望削弱您的开发工作(通过在构建期间禁用包恢复,因为@ user5525674建议),并确定某些内容确实发生了变化(例如在您的源代码管理中)并且没有&#39 ;正确构建?只在Visual Studio会话的第一次构建时获得几秒钟?
这就是为什么它按原样运作的原因'。您可以阅读NuGet v3上的完整documentation和构建过程,但这是与问题相关的最重要部分:
恢复过程在构建本身之前运行,然后写出一个名为project.lock.json的新文件。该文件包括包图以及有关已还原包的其他有用信息。 MSBuild读取文件并将其转换为一组可以找到潜在引用的文件夹,然后将它们添加到内存中的项目树中。
此文件丢弃的位置 - 紧邻project.json
我应该检查 - 通常不会,该文件包含在Visual Studio中的默认.gitignore中,通常不会通过.gitignore或.tfignore包含在源代码管理中。
回顾一下:
project.lock.json
由还原过程生成并保存包引用(如果在VS选项下禁用还原过程并且此文件丢失或引用已更改,则这将使构建失败。答案 1 :(得分:1)
在Visual Studio中,按照下面的工具菜单进行操作:
Tools -> Options -> NuGet Package Manager
然后,取消选中选项:
Automatically check for missing package during build in Visual Studio