我希望能够通过命令行为整个解决方案更新特定的NuGet软件包,以便将其用作构建目标中构建过程的一部分。
当前,我正在使用下面的目标-将NuGet更新限制为本地源。
这有很多缺点。首先是每个项目。因此,我无法为所有项目之一运行它,并且无法更新“所有”其他项目。
接下来,对构建过程的所有更新都不会传播,直到下一次构建。因此,如果随后对NuGet软件包文件或目标进行了任何更改,则必须运行两次。
第二是包装上的错误,它无法解决其依赖性(可以理解)。
那么有没有一种方法可以通过命令行为每个项目更新特定的Nuget软件包列表,即从我可以运行的批处理文件中更新-因此每个项目都使用特定软件包的最新版本?
<Target Name="Update" Condition="Exists('$(ProjectDir)packages.config')" BeforeTargets="CreateManifestResourceNames">
<Warning Text="Warning - Updating all packages from $(NetworkNugetPath)"/>
<Exec Command="$(ToolsPath)NuGet.exe update $(ProjectDir)packages.config -Source $(NetworkNugetPath) -FileConflictAction Overwrite -NonInteractive" IgnoreExitCode="true"/>
</Target>
请注意,这是.Net框架项目,因此我无法使用任何新的核心功能。