You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Functions 1.x中配置多NuGet源并指定包来源?

当然可行!Azure Functions完全支持同时从官方nuget.org和私有NuGet源拉取依赖包,下面我会给你清晰的配置步骤和示例,帮你搞定project.json的格式问题。

1. 基础配置:声明所有NuGet源

首先,你需要在project.json的根节点添加packageSources字段,把nuget.org和你的私有源都列进去,每个源可以自定义一个名称(方便后续指定):

{
  "packageSources": {
    "nuget.org": "https://api.nuget.org/v3/index.json",
    "MyPrivateNuGetFeed": "https://your-private-feed-url/v3/index.json"
  },
  // 其他配置(frameworks、dependencies等)放在这里
}
2. 指定特定包的拉取源

接下来,在dependencies区块里,针对需要从私有源拉取的包,你可以通过对象形式配置,明确指定它的来源;而官方包(比如Newtonsoft.Json)直接写版本号即可,NuGet会默认从所有源中查找(通常优先nuget.org)。

完整的project.json示例如下:

{
  "frameworks": {
    "net46": {
      "dependencies": {
        // 官方包:默认从nuget.org拉取
        "Newtonsoft.Json": "13.0.3",
        // 私有包:指定从自定义的私有源拉取
        "MyCompany.PrivatePackage": {
          "version": "2.1.0",
          "source": "MyPrivateNuGetFeed"
        }
      }
    }
  },
  "packageSources": {
    "nuget.org": "https://api.nuget.org/v3/index.json",
    "MyPrivateNuGetFeed": "https://your-private-feed-url/v3/index.json"
  }
}
3. 私有源的认证配置(如果需要)

如果你的私有NuGet源需要身份验证(比如Azure Artifacts、自建的私有源),你需要在Azure Function App的应用设置里添加一个名为NUGET_CREDENTIALS的配置项,格式如下:

{私有源URL}::{用户名}::{密码/访问令牌}

举个例子,如果是Azure Artifacts的源,用户名可以填任意字符串,密码用你的个人访问令牌(PAT):

https://pkgs.dev.azure.com/your-org/_packaging/your-feed/nuget/v3/index.json:::your-pat-token-here
注意事项
  • 如果你没有给包指定source,NuGet会按照packageSources里的顺序依次查找包,你可以调整顺序来改变优先级。
  • 确保你的私有源URL是正确的,并且Function App能够访问到这个源(比如如果是内网源,需要配置VNet集成)。

内容的提问来源于stack exchange,提问作者BobbyA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:34:37