问题描述
为什么较新的版本依赖于:
System.Diagnostics.PerformanceCounter
System.DirectoryServices
System.DirectoryServices.Protocols (谢天谢地, net6.0上没有dep )
这些包带来了所有类型的传递依赖关系,包括Windows特定的依赖关系,这些依赖关系在编译linux运行时目标时只是浪费。
System.Diagnostics.PerformanceCounter
System.DirectoryServices
System.DirectoryServices.Protocols (谢天谢地, net6.0上没有dep )
这些包带来了所有类型的传递依赖关系,包括Windows特定的依赖关系,这些依赖关系在编译linux运行时目标时只是浪费。
专家解答
如果不使用与这些包相关的功能,则可以删除这些依赖项。例如,如果不使用LDAP ,则可以删除DirectoryServices依赖项。当Oracle发布这些包时,我们无法预测您的应用程序将使用什么功能。当您开始使用LDAP时,您会遇到一个错误,直到手动添加必要的包。因此,我们错误地包括了*NuGet*包所需的所有依赖项。
如果您希望删除这些依赖项,可以下载ODP.NET NuGet包,解压缩它,解压缩Oracle. ManagedDataAccess.dll ,然后手动将其添加到项目引用中。您将不再有这些依赖关系,您会看到,这是NuGet打包工作的一个特性。
在这一点上, NuGet没有“可选”依赖关系,如果它们未使用,则可以在生产时进行修剪。
如果您希望删除这些依赖项,可以下载ODP.NET NuGet包,解压缩它,解压缩Oracle. ManagedDataAccess.dll ,然后手动将其添加到项目引用中。您将不再有这些依赖关系,您会看到,这是NuGet打包工作的一个特性。
在这一点上, NuGet没有“可选”依赖关系,如果它们未使用,则可以在生产时进行修剪。
文章转载自askTom,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




