簡體   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