gpt4 book ai didi

nuget - 将私有(private) Nuget 包源添加到 Visual Studio Online

转载 作者:行者123 更新时间:2023-12-04 02:24:53 24 4
gpt4 key购买 nike

我有一个私有(private)的 NuGet 包源正在运行,我用它来在我的项目之间共享某些功能和扩展。它在 Visual Studio 中运行良好,但最近我开始为我在 Visual Studio Online 上的一个项目设置持续集成构建,似乎 VSO 看不到我的私有(private)提要。

我正在使用新的包还原方法 - 涉及在 VS 选项中设置“允许 NuGet 下载丢失的包”复选框。我没有使用解决方案上下文菜单中的“启用 NuGet 包还原”选项,因为这实际上是 the old way of doing it并在其他地方引起问题。

我也没有做任何修改我的项目文件的事情;我正在使用自定义构建定义(使用 XAML 工作流的东西),因此我可以通过从构建定义编辑器下的“构建过程模板”下拉列表中选择它来将其应用于我的任何项目。我这样做是因为我添加了各种其他步骤,包括一些构建后脚本,以促进自动部署到托管服务器;其中一些步骤有点复杂,因此将它们保留在构建过程中意味着我只需设置一次。

因此,如果不使用将 nuget.exe 放入解决方案文件夹的旧上下文菜单解决方案,并且不弄乱项目本身,我如何获得 VSO 的构建以从我的私有(private)提要中恢复包?

构建工作流模板有一个事件“NuGetRestore”,它可以接受命令行参数。我添加了以下内容:

"-source https://www.nuget.org/api/v2/ http://www.example.com/nuget"

但这似乎没有什么区别。此事件还有一个字段用于“指定需要恢复其 NuGet 包的解决方案”,我刚刚将其设置为 ProjectsToBuild定义构建时设置的变量。我没有从 nuget.exe 收到任何错误(至少,我看不到任何错误),但构建失败。有趣的是,它说相关的命名空间不存在,而不是无法解析引用。有任何想法吗?

最佳答案

我相信您需要做的是添加解决方案级别的 NuGet.config 文件。 NuGet 配置文件的链接方式与 web.config 非常相似。您可以找到文档 here

NuGet first loads NuGet.config from the default location, then loads any file named NuGet.config starting from the root of the current drive and ending in the current directory.



它看起来与此类似:
    <?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageRestore>
<!-- Allow NuGet to download missing packages -->
<add key="enabled" value="True" />
<!-- Automatically check for missing packages during build in Visual Studio -->
<add key="automatic" value="True" />
</packageRestore>
<packageSources>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
<add key="PrivateNugetName" value="http://your.nuget.server.com/nuget" />
</packageSources>
<disabledPackageSources />
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
</configuration>

关于nuget - 将私有(private) Nuget 包源添加到 Visual Studio Online,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24723057/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com