如何在整个解决方案中更新NuGet软件包的子集

时间:2020-10-13 10:29:37

标签: c# .net nuget

我希望能够通过命令行为整个解决方案更新特定的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框架项目,因此我无法使用任何新的核心功能。

0 个答案:

没有答案