繁体   English   中英

Visual Studio 2013项目参考了另一个具有外部库的项目

[英]Visual studio 2013 project reference another project with external libraries

我有问题,不知道最好的步骤是什么。

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

现在我想在其他项目中使用该项目...但是每次引用该项目时,都会出现以下错误:

错误29类型'log4net.ILog'是在未引用的程序集中定义的。 您必须添加对程序集'log4net,版本= 1.2.13.0,Culture =中性,PublicKeyToken = 669e0ddf0bb1aa2a'的引用。

知道我该如何解决吗?

提前致谢。

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

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

例如,如果我有一个具有2种方法的LogHelper项目:

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM