如何解决“无法找到包”的NuGet错误(how to resolve “Unable to find

2019-11-05 04:32发布

正在为一个项目(A.csproj),它依赖于另一个项目(B.csprojec)添加作为项目引用创建的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    

我错过了什么 ?

Answer 1:

我只是做了这一点,并会开得不错。 在你的Visual Studio,请访问:

  1. 工具
  2. NuGet包管理器
  3. 一般
  4. 点击按钮“清除所有的Nu​​Get缓存(S)
  5. 包装资源,然后单击“更新”
  6. Woolah! 错误走了......


Answer 2:

我通过添加相关的文件解决了这个

<files>
    <file src="bin\$configuration$\netstandard2.0\a.dll" target="lib\netstandard2.0" />
    <file src="bin\$configuration$\net45\a.dll" target="lib\net45" />
    <file src="bin\$configuration$\netstandard2.0\b.dll" target="lib\netstandard2.0" />
    <file src="bin\$configuration$\net45\b.dll" target="lib\net45" />
  </files>

另外,不要忘了清理本地缓存nuget locals all –clean或更改版本。



文章来源: how to resolve “Unable to find package” nuget error
标签: nuget nuspec