2017-05-25 44 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

你应该接受答案来关闭线程。 –