2017-05-25 24 views
1

隨着netstandard的到來一個netstandard,它應該是更容易地創建一個可以在兩個磊和netframework使用庫。還可以將多個目標框架添加到netstandard庫中,以便可以爲多個目標構建它。但是,有些東西在某種程度上對我來說並不合適,也許我認爲它是錯誤的。我會盡我所能解釋這種情況。加入4.6.1

我有這個netstandard庫,針對netstandard1.5和net461。我通過將項目更改爲並添加了兩個目標來實現此目的。這個項目正在構建和打包成nuget包,通過仔細檢查,它包含net461和netstandard1.5的二進制文件。有了這個,我認爲我有一個庫,可以添加到netcore項目或netframework項目,最小的依賴關係。此外,該庫還依賴於Microsoft.Extensions.Logging.Abstractions(1.1.2),Newtonsoft.Json(10.0.2)和System.Security.SecureString(4.3)。

另一方面,我有一個經典的控制檯項目,使用netframework 461.當然,我想在這裏使用這個庫,因爲它是一個netframework 461項目,並且該庫也針對netframework 461,所以我認爲依賴關係將保持在最低限度。當我查找包時,其依賴關係是我期望的,但是當我去嘗試安裝它時,我充斥着依賴關係,我不認爲這是必要的,例如NETStandard.Library(1.6 .2),Microsoft.NETCore.Platforms(1.1.0),System.Runtime(4.3)及其所有關聯(集合,io,安全等等)。我認爲我不需要添加所有這些依賴關係,因爲該庫的目標是netframework,但看起來像我錯了或其他的錯誤。

任何人都可以提供這方面的一些見解嗎?

+0

可以移植到netstandard2(它的最終版本),並使用VS 2017年UPDATE3。我希望你不會發現依賴性的洪流。 –

回答

2

我想,我會回答我的問題,這是不是真的複雜。

事實證明,Microsoft.Extensions.Logging目標只有netstandard的,因爲這並要求所有其他的依賴關係。

一旦我刪除了微軟包和重建我自己,我能夠將其添加爲一個依賴於netframework項目沒有所有的混亂。

也許這將幫助別人的未來...

+0

你應該接受答案來關閉線程。 –