首页 > 解决方案 > 在断开连接的服务器上构建 .Net Core Web App 时出现 NuGet 问题

问题描述

我们正在构建一个 Web 应用程序,用于在与 Internet 断开连接的隔离 Intranet 上使用。应用程序在异地构建,然后导入到 Intranet。我们希望能够在环境中重建代码并能够在那里进行调试。VS2019安装在内网内的开发机器上。所有使用过的 NuGet 包似乎都在那里。有些包在Program Files (x86)\Microsoft SDKs\NuGetPackages,有些在Users\[username]\.nuget\packages\. 问题是 VS 解决方案在Users\[username]\.nuget\packages\. 在构建解决方案时,我们得到 “无法找到包 xxxxxx。源中不存在具有此 ID 的包”,而我们可以清楚地看到包在那里。

迁移代码时,我们将位置添加Users\[username]\.nuget\packages\到解决方案中的包源。但是,如果我单击浏览 NuGet 包管理器并选择该源,我会收到以下错误: “还原 NuGet 包时发生错误:System.NullReferenceException:对象引用未设置为对象的实例。在 NuGet.Protocol.ServiceIndexResourceV3Provider .d__9.MoveNext()" 并且不会返回任何包。

可能的问题之一是其中的大多数包Users\[username]\.nuget\packages\都是从异地开发机器复制的,因此可能没有正确注册。我不知道他们是否需要注册以及如何注册?此外,在异地开发代码的帐户与在 Intranet 机器上的帐户不同。因此,包位置中的 [用户名] 是不同的。

有没有人遇到过类似的问题?你对如何处理它有什么建议吗?

标签: asp.net-core.net-corenugetintranetdisconnected-environment

解决方案


推荐阅读