Nuget 包不以正确的方式包含依赖项

Nuget packing not including dependncies in right way

我有一个 C# 库,假设 "Utilities" 使用 Log4net 作为依赖项,我使用的是 .net framwork 4.6.1,我完成了这个库的开发并做了一个 nuget pack Utilities.projcs 和然后推送这个包。

当我尝试在另一个 asp.net 核心“2.1”项目中使用此实用程序时,我遇到了这个异常

**Method not found: 'log4net.ILog log4net.LogManager.GetLogger(System.String)'.**
System.MissingMethodException
      HResult=0x80131513
      Message=Method not found: 'log4net.ILog log4net.LogManager.GetLogger(System.String)'.
      Source=Utilities
      StackTrace:
       at Utilities.Logging.MyLogManager.GetLogger(String loggerKey)

我的实用程序 nuget 规范文件

<?xml version="1.0"?>
<package >
  <metadata>
    <id>Utilities</id>
    <version>1.2.0</version>
    <title>Internal Utilities</title>
    <authors>My Team</authors>
    <owners>My Team</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>This dll contains parsers,loggers and other functionalities that is commonly used.</description>
    <releaseNotes>Rlease notes</releaseNotes>
    <copyright>Copyright 2020</copyright>
    <tags>Utilities</tags>
    <dependencies>
      <dependency id="log4net" version="2.0.8" include="all"/>
    </dependencies>
  </metadata>
  <files>
    <file src="bin\Debug\log4net.dll" target="" />
    <file src="bin\Debug\log4net.xml" target="" />
    <file src="bin\Debug\Utilities.dll" target="" />
  </files>
</package>

任何解决这个问题的想法,我花了最后几天来解决它但没有运气

注意:当我在我的电脑(我的图书馆 + Log4net)中按位置手动添加参考时,它工作正常!

在 .net 标准中创建 class 库。
有关 .net 标准的更多信息,请访问 https://docs.microsoft.com/en-us/dotnet/standard/net-standard

如何创建 .net 标准 class 库 -> https://docs.microsoft.com/en-us/dotnet/core/tutorials/library-with-visual-studio?tabs=csharp

如何创建 .net 标准 Nuget -> https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio?tabs=netcore-cli


此图像将帮助您理解共享库背后的概念。