我看过不少关于这个具体的和/或相关的问题(见讨论的第一条和第二条),但所有的人似乎已经要求前一段时间。鉴于NuGet 2.8+的更改,我想知道是否有人能够找到解决此问题的方法。
我要做的是确保我的项目始终使用某些(不一定是全部)NuGet软件包的最新版本进行构建,而无需更改项目文件。我无法更改项目文件的原因是,因为其中一个“ upsteam”项目创建了较新的项目,所以它们已签入Source Control(Visual Studio),并且在我们的持续集成管道(无法更改文件)中自动触发了生成版本的NuGet软件包。
到目前为止,我已经获得了使用最新版本的NuGet软件包在构建时更新构建的预期结果,这需要借助Article3的帮助,但这实际上会更改* .csproj文件(使用NuGet Update命令)这对我们来说不是一个可行的选择。
任何建议对此表示赞赏。
如果您使用的是NuGet版本2.x,则不可能。更新NuGet软件包时,NuGet版本2将修改您的项目文件和packages.config文件。
如果支持您的项目类型,则可以使用NuGet版本3,因为它允许您使用通配符(例如1. *)指定范围。
这里的另一种选择是使用Paket。您可以使用Paket从命令行更新NuGet软件包,它不会修改您的项目文件。但是,您必须对所有NuGet更改使用Paket,而不是Visual Studio NuGet程序包管理器。
最后的选择是完全不对这些NuGet包使用NuGet,而是有一个单独的构建步骤来下载,更新它们并将它们解压缩到您的项目引用的公共lib目录中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句