- A+
所属分类:.NET技术
现象:
- 创建NuGet本地包后,使用NuGet管理器访问LocalNuGet时,报错:
【LocalNugGet】未将对象引用设置到对象的实例
- 检查C:Users{此处时你的用户名}AppDataRoamingNuGet路径下的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 SDKsNuGetPackages" /> </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 SDKsNuGetPackages" /> </packageSources> </configuration>