创建NuGet本地包的问题:【LocalNugGet】未将对象引用设置到对象的实例
现象:
- 创建NuGet本地包后,使用NuGet管理器访问LocalNuGet时,报错:
【LocalNugGet】未将对象引用设置到对象的实例
- 检查C:\Users{此处时你的用户名}\AppData\Roaming\NuGet路径下的NuGet.Config配置文件。
发现:
- LocalNuGet名字有重复出现。
- LocalNuGet后面有参数: protocolVersion="3"
<?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="LocalnuGet" value="D:\LocalNuget" protocolVersion="3" />
<add key="LocalNuGet" value="D:\LocalNuget" protocolVersion="3" />
<add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
</packageSources>
</configuration>
分析:
- 经过测试,重复出现应该是在添加时,key值:文件名大小写的问题。
- 参数:protocolVersion:要使用的 NuGet 服务器协议版本。 当前版本为“3”。具体参考:nuget.config 文件参考 | Microsoft Learn
解决:
针对以上2个问题修改,NuGet管理器可以正常访问LocalNuGet包了。以下是修改后的配置文件。
<?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="LocalNuGet" value="D:\LocalNuget" />
<add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
</packageSources>
</configuration>