繁体   English   中英

在离线服务器上构建 Azure Devops Pipeline - NuGet 包?

[英]Azure Devops Pipeline build on OFFLINE server - NuGet packages?

我的解决方案完美地构建在我的本地机器上,它使用 Microsoft.Data.Sqlclient 和 Azure.Core nuget 包,但该解决方案不在我们的 Azure Devops 服务器上构建,因为那里没有互联网访问。 错误是“错误 NETSDK1064:未找到包 Azure.Core,版本 1.20.0”。

我将这些包放在一个 .packages 子文件夹中,并创建了一个 Nuget.config 文件,我相信它引用了这个子文件夹,但没有运气。

如何告诉我们的 DevOps 服务器使用在 .packages 子文件夹中查找 Nuget 包?

我终于通过在构建之前放置的 NuGet Restore 任务来解决这个问题。 我选择“custom”作为 NuGet Restore 命令类型,实际命令是:

restore  CoreBZ2.sln -PackagesDirectory ..\packages

在我的解决方案的“packages”子文件夹中包含所有需要的包(所有 .nupkg 文件)。 (CoreBZ2.sln 是我的项目/解决方案的名称。)

我还在解决方案所在的文件夹中放置了一个 NuGet.config 文件,它看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="nuget.org" value=".\packages" />
        <add key="Azure.Core" value=".\packages" />
    </packageSources>

    <config>  
        <add key="globalPackagesFolder" value=".\packages" />
        <add key="defaultPushSource" value=".\packages" />
    </config>
    <activePackageSource>
        <add key="All" value=".\packages" />
    </activePackageSource>
    <config>
        <add key="repositoryPath" value="$\..\packages" />
    </config>

</configuration>

可能有更好的方法来做到这一点,但这最终导致在离线 DevOps 服务器上成功构建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM