Visual studio 2013项目引用另一个带有外部库的项目

本文关键字:项目 外部 另一个 studio 2013 引用 Visual | 更新日期: 2023-09-27 17:51:15

我有一个问题,不知道该怎么做。

我的问题如下:我在VS13中创建了不同的项目。其中一个是Log项目(使用NuGet安装的外部库Log4net)。

现在我想在其他项目中使用该项目…但每次我引用项目,我得到以下错误:

错误29类型为"log4net"。ILog'在未引用的程序集中定义。您必须添加对程序集"log4net, Version=1.2.13.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a"的引用。

你知道怎么解决这个问题吗?

Visual studio 2013项目引用另一个带有外部库的项目

当使用log4net的程序集也公开来自log4net的类型时,通常会发生这种情况。在这种情况下,消费程序集需要引用这两个程序集。使用log4net的一个,以及对log4net的引用。

您需要添加对log4net的引用或完全抽象出类型,以便您的程序集在内部处理log4net类型。

。如果我有一个项目LogHelper,它有两个方法:

日志(MyOwnLogType my)和日志(log4net. Log)ILog日志)。

调用者可能只使用Log(MyOwnLogType),但仍然使用log4net的类型。ILog需要从整体的角度来解决。因此,请确保是否有任何此类类型通过帮助程序集泄漏到调用方。

听起来像是引用log4net的项目在public / internal API中公开了它的一种类型。为了引用这个项目,新项目必须能够解析这些类型令牌,因此也需要引用log4net。

要解决这个问题,只需使用NuGet向新项目添加对log4net(当然是匹配版本)的引用。