如何解决“无法找到包" nuget错误 [英] how to resolve "Unable to find package" nuget error
问题描述
正在为依赖于另一个项目(B.csprojec)的项目(A.csproj)创建nuget pkg.
这是.nuspec,
<?xml version="1.0"?>
<package >
<metadata>
<id>A.Client</id>
<title>A.Client</title>
<description>HttpClient and Models for calling the A Microservice.</description>
<version>1.0.2</version>
<authors></authors>
<owners></owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<copyright>.</copyright>
<tags></tags>
<dependencies>
<group targetFramework=".NETFramework4.5">
<dependency id="Newtonsoft.Json" version="9.0.1" exclude="Build,Analyzers" />
// <dependency id="B" version="1.0.0"/> tried this but same error
</group>
<group targetFramework=".NETStandard2.0">
<dependency id="Newtonsoft.Json" version="9.0.1" exclude="Build,Analyzers" />
// <dependency id="B" version="1.0.0"/> tried this but same error
</group>
</dependencies>
<frameworkAssemblies>
<frameworkAssembly assemblyName="System.Net.Http" targetFramework=".NETFramework4.5" />
</frameworkAssemblies>
</metadata>
<files>
<file src="bin\$configuration$\netstandard2.0\A.dll" target="lib\netstandard2.0" />
<file src="bin\$configuration$\net45\A.dll" target="lib\net45" />
</files>
</package>
我用过
nuget pack A.nuspec -Properties configuration=debug
生成包.但是,当我尝试在c.csprojc中使用此程序包时,出现以下错误
Severity Code Description Project File Line Suppression State
Error NU1101 Unable to find B. No packages exist with this id in source(s): Local Package source, Microsoft Visual Studio Offline Packages, nuget.org, Package source
我想念什么?
程序包源离线!
我在系统上安装了VS2017 Professional,并打开了一个现有项目,发现缺少多个软件包.我尝试了所有可能的方法,而没有查看Package Source !!
当我尝试以下解决方案时,我正在写此答案,但是它们都不起作用:
- 清除缓存
- 还原或重新安装软件包
- 更改targetFramework
- 更新Nuget软件包管理器
解决方案:
步骤01.转到 Package Manager设置(工具> Nuget Package Manager> Package Manager设置)
步骤02 .检查包裹来源.如您所见,包源已经在这里下载了SDK/nugets/packages.我不知道原因,但是在我的Visual Studio系统安装中缺少nuget.org的在线软件包源.
第03步.安装nuget.org作为软件包源,然后清除所有Nuget缓存",然后还原软件包.错误将消失.
名称:nuget.org(或根据需要) 来源: https://api.nuget.org/v3/index.json >
Working on creating a nuget pkg for a project (A.csproj) which depends on another project (B.csprojec) added as a project reference.
Here is the .nuspec ,
<?xml version="1.0"?>
<package >
<metadata>
<id>A.Client</id>
<title>A.Client</title>
<description>HttpClient and Models for calling the A Microservice.</description>
<version>1.0.2</version>
<authors></authors>
<owners></owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<copyright>.</copyright>
<tags></tags>
<dependencies>
<group targetFramework=".NETFramework4.5">
<dependency id="Newtonsoft.Json" version="9.0.1" exclude="Build,Analyzers" />
// <dependency id="B" version="1.0.0"/> tried this but same error
</group>
<group targetFramework=".NETStandard2.0">
<dependency id="Newtonsoft.Json" version="9.0.1" exclude="Build,Analyzers" />
// <dependency id="B" version="1.0.0"/> tried this but same error
</group>
</dependencies>
<frameworkAssemblies>
<frameworkAssembly assemblyName="System.Net.Http" targetFramework=".NETFramework4.5" />
</frameworkAssemblies>
</metadata>
<files>
<file src="bin\$configuration$\netstandard2.0\A.dll" target="lib\netstandard2.0" />
<file src="bin\$configuration$\net45\A.dll" target="lib\net45" />
</files>
</package>
I used
nuget pack A.nuspec -Properties configuration=debug
To generate the package. However when I tried to consume this package inside c.csprojc, I get the following error
Severity Code Description Project File Line Suppression State
Error NU1101 Unable to find B. No packages exist with this id in source(s): Local Package source, Microsoft Visual Studio Offline Packages, nuget.org, Package source
What did I miss ?
The package source was offline !!
I installed VS2017 professional on my system and opened an existing project and found that multiple packages were missing. I tried everything I could, without looking at Package Source !!
I am writing this answer as I tried the below solutions but none of them worked :
- Clearing the cache
- Restoring or re-installing the packages
- Changing the targetFramework
- Updating the Nuget Package manager
Solution:
Step 01. Go to Package Manager Settings (Tools > Nuget Package Manager > Package Manager Settings)
Step 02. Check the Package Source(s). As you can see, the package source is here already downloaded SDK/nugets/packages. I don't know the reason but the online package source from nuget.org was missing from my system installation of Visual Studio.
Step 03. Install the nuget.org as package source and then 'Clear All Nuget Cache(s)' and then restore the packages. The error will go away.
Name: nuget.org ( or as you wish) Source: https://api.nuget.org/v3/index.json
这篇关于如何解决“无法找到包" nuget错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!