Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NuGet软件包无法在.NET Core中安装,但可以在.NET Framework中工作。为什么?_C#_.net_Dll_Nuget - Fatal编程技术网

C# NuGet软件包无法在.NET Core中安装,但可以在.NET Framework中工作。为什么?

C# NuGet软件包无法在.NET Core中安装,但可以在.NET Framework中工作。为什么?,c#,.net,dll,nuget,C#,.net,Dll,Nuget,我正在开发一个Visual Studio解决方案,其中有两个项目,为了解决这个问题,我将它们分别命名为Red.dll和Blue.dll。请注意,Red.dll依赖于Blue.dll。它们都是在.NET标准2.0中编译的,输出类型为“类库” 我使用NuGet package Explorer将每个项目的dll添加到一个名为“Red”的公共NuGet包中。其结构如下: lib - netstandard2.0 - Red.dll - Red.xml - Blue.dll - Blue

我正在开发一个Visual Studio解决方案,其中有两个项目,为了解决这个问题,我将它们分别命名为Red.dll和Blue.dll。请注意,Red.dll依赖于Blue.dll。它们都是在.NET标准2.0中编译的,输出类型为“类库”

我使用NuGet package Explorer将每个项目的dll添加到一个名为“Red”的公共NuGet包中。其结构如下:

lib
- netstandard2.0
  - Red.dll
  - Red.xml
  - Blue.dll
  - Blue.xml
问题是:当我尝试将此NuGet软件包安装到.NET核心应用程序时,收到以下错误:

错误NU1101:找不到包Blue.dll。源中不存在具有此id的包:桌面、Microsoft Visual Studio脱机包、nuget.org

  • Blue.dll不是NuGet包。我不知道为什么它会这么想
  • Blue.dll位于Red.dll的正旁边
  • 除了与此无关的Newtonsoft.Json之外,没有其他外部依赖项
  • 重申一下,Blue.dll不是NuGet包依赖项。我意识到如果在VisualStudio中使用“Pack”功能,它将创建一个依赖项,但是我手动创建了这个NuGet包来避免这种情况
  • 但最重要的是:这一切在.NET Framework中都能完美运行!NuGet软件包已成功安装,引用了两个DLL,代码生成时没有任何错误,并且可以访问XML文档

    为什么这在.NET框架中有效,而在.NET核心中无效?
    我在网上找不到有关此特定问题的任何其他信息。

    .NET Core在Dependencies文件夹中有一个文件夹NuGet,这是您所有NuGet软件包所在的位置,以便在构建解决方案时。NET Core将安装它们。NET Core在Dependencies文件夹中有一个文件夹NuGet,这是所有NuGet软件包所在的位置,因此在构建解决方案时.NET Core将安装它们