命名空间 'Logging' 的类型在命名空间 'Sitecore' 中不存在

The type of namespace 'Logging' does not exist in the namespace 'Sitecore'

在项目中添加了 Sitecore.Logging dll(来自 nuget),但我仍然遇到错误。

在我添加 log4net dll(作为其他一些 nuget 依赖项的一部分)之前它工作正常。在此之后有一个模糊的引用错误。然后,当我尝试指定 Sitecore.Logging.LogManager/ Sitecore.Logging.ILog 时,出现错误。

名称空间 'Logging' 的类型在名称空间 'Sitecore'

中不存在

Sitecore.Logging.dllSitecore.Logging 命名空间中不包含 类,尽管您可能会认为情况如此 - 这当然是惯例。

用反编译器打开它会发现其中隐藏着一个分叉版本的 log4net。

您可能正在 Sitecore.Kernel.dll

中寻找 Sitecore.Diagnostics.Log 中的日志工厂

右键单击新添加的 log4net dll -> 属性 -> 别名 -> 给一个不同的名称,如 'log'。这将解决代码中的歧义。