【发布时间】:2021-04-15 08:35:52
【问题描述】:
我们正在使用 Visual Studio 2019,我们有一个解决方案引用了来自 nuget.org 或我们的私有服务器的一些 NuGet 包,我们正在使用 packages.config 管理来管理解决方案,问题是只有一个 ASP该解决方案中的 .NET 项目没有安装任何所需的包(在我们的例子中它错过了 NewtonSoft.json),并且正确安装了所有其他的,即使我们启用了包恢复,并且解决方案中还有其他 ASP.Net 项目可以正确安装 Newtonsoft 软件包,但是每次您从零开始阅读解决方案的最新版本(如果您删除本地解决方案并重新从 TFS 读取它),您需要专门为该项目手动安装 Newtonsoft.json。
PS:这是一个每次可以在 5 分钟内解决的问题,但我知道有问题,我一直在尝试了解它是什么,我不想在本地解决它,但我需要在 TFS 级别上解决它的解决方案,所以请帮助我,或者如果您知道这里有任何其他问题可以提供帮助,请指导我完成(如果我还没有看到)。
我的 NuGet.Config 文档:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
<add key="MxNuget" value="our server path" />
</packageSources>
<activePackageSource>
<add key="All"
value="(Aggregate source)" />
</activePackageSource>
<packageRestore>
<add key="enabled" value="true" />
<add key="automatic" value="true" />
</packageRestore>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
</configuration>
我们得到的错误如下:
The name 'Newtonsoft' does not exist in the current context.
【问题讨论】:
-
您能显示 Nuget 还原过程的输出吗?它给出了什么错误?也许您的本地 Nuget 服务器中也有 Newtonsoft,但版本较旧?
-
当然,我会编辑问题并添加它
-
您似乎在编译时编辑错误,而不是还原错误。例如,如果这是 .NET Core,当你运行
dotnet restore时会发生什么? -
它实际上不存在,起初它在packages.config中有一个引用,所以如果你打开包管理器它会告诉你你有它,你必须先删除它才能重新安装它,所以我从包中删除了引用,这样我就可以遇到“逻辑问题”
-
你能解释一下编译时错误中的编辑是什么意思吗?
标签: c# .net visual-studio nuget