jenkins - 让 Jenkins 了解自定义 NuGet 包源

标签 jenkins msbuild nuget msbuild-task nuget-package-restore

关于 Jenkins 和 NuGet 包还原,我遇到了一些小问题。

我正在尝试做的是在 jenkins 上构建解决方案(效果很好)。我为解决方案启用了包还原,它会生成包含 NuGet.exe、NuGet.Config 和 NuGet.targets 的 .nuget 文件夹。

在 Jenkins 上,我将一些项目作为 NuGet 包发布在我们服务器上的私有(private)包源中。我在其他项目中使用这些包,这些包应该建立在 jenkins 本身上。

VS 知道私有(private)包源,它在全局 NuGet.Config 文件(AppData 下的那个)中配置,并且没有被禁用(默认情况下)。

现在,当我尝试构建一个需要来自私有(private)包源的包的解决方案时,构建失败,因为 jenkins 不知道它,因此提交了一个空的 -source - 恢复未被替换的软件包时的参数,因为 Jenkins 不知道自定义源。

到目前为止我尝试过的

  • 我已经知道将私有(private)源添加到解决方案 NuGet.Config 或 NuGet.Targets 文件的 Package-Source会解决问题,但这意味着,我必须为我想使用 Jenkins 构建的每个解决方案这样做。
  • 我还通过将源添加到文件中的 package-source 标记甚至将其设为事件源,对 AppData 和 ProgramData 中的配置文件进行了一些尝试,但这也无济于事
  • 当然,提交包是一种解决方法,但这不是预期的结果,因为我们想忽略 scm 中的包。

  • 基本上,我想知道是否有办法让 Jenkins 不断了解私有(private)包源,或者操纵开发人员机器上的 NuGet 安装,以便他们生成 NuGet.targets -包含私有(private)包源的文件。另一个可能的修复方法是 msbuild 的参数,我不知道。

    任何帮助是极大的赞赏!

    最佳答案

    jenkins 使用的 NuGet 配置文件如下,在我的情况下修复这里工作,希望它有帮助
    enter image description here

    关于jenkins - 让 Jenkins 了解自定义 NuGet 包源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25140081/

    相关文章:

    asp.net - 无法获取要构建的 CodeDom dll,程序集不匹配

    powershell - 在 NuGet 包安装/初始化期间运行的 Powershell 脚本有哪些安全限制?

    git - 如何在 Groovyscript 中导入 Jenkins 插件?

    jenkins - Jenkins 管道中的 java.io.NotSerializedException : sun.net.www.protocol.https.HttpsURLConnectionImpl

    typescript - 如何在 Visual Studio 2019 错误列表中显示 eslint 错误

    visual-studio - 网站的发布工件转到 PrecompiledWeb

    git - Jenkins 作业生成器 gitlab 触发器被忽略

    jenkins - Jenkins 中 'blocked' 、 'stuck' 、 'pending' 、 'buildable' 作业之间的差异

    c# - 我可以确定从 .csproj 或 .targets 文件构建时使用的 .NET SDK 版本吗?

    c# - 无法加载文件或程序集System.Runtime.CompilerServices.Unsafe