當您想將它們添加到您自己廣泛使用的庫中時,是否有限制使用第三方庫(如NewtonSoft或AutoMapper)的方法?是否可以限制在自己的解決方案中使用第三方庫?
E.g.比方說,我們有一個類庫,其他幾個項目用於某些任意的事情,這個庫反過來使用另一個第三方庫。 這當然需要所有其他項目 - 只想使用我們自己的項目來引用NewtonSoft或AutoMapper是否需要它。
有沒有辦法圍繞這個以某種方式構建(除了明顯的部分,不使用第三方庫)?
編輯
比方說,我有一個web項目中,那需要引用類文庫B我的業務邏輯,類庫使用AutoMapper,我想一個辦法不具有參考AutoMapper在項目A中。我相信這是不可能的,但如果是這樣我想知道如何。
它會解決問題,如項目A和C使用不同版本的相同庫它會衝突,我知道這可以通過明確指出要使用的版本在webconfig中排序。但如果有更清晰的方式,我想知道如何。
編輯#2
如果我標誌着在類庫B使用AutoMapper爲內部例如面積?在項目A中不需要引用AutoMapper,對吧?
能工作嗎?
把NewtonSoftware和/或AutoMapper代碼在不同的名稱空間中。所以當其他項目使用代碼時,他們不必引用第三方dll的命名空間。 – jdweng
如果您不希望庫的使用者需要Automapper,那麼不要讓您的庫依賴於Automapper。 – Amy
我正在尋找項目A,它引用了使用Json.Net的項目B.項目A **不具有對NewtonSoft.Json的引用,但工作得很好。 – stuartd