C# 控制台应用程序中的公共.NET与公共.NET核心命名空间

C# 控制台应用程序中的公共.NET与公共.NET核心命名空间,c#,.net,.net-core,C#,.net,.net Core,我想问:这个框架的公共名称空间之间有什么显著的区别吗?在这个框架中,我找不到任何关于基本用例差异的信息。在.NETCore中是有更难的东西,还是在可用性上它们是相同的 我知道ASP.NET和ASP.NET Core之间的区别,我对基本的.NET和.NET Core的区别感兴趣。基本上:不。最常见的名称空间正是您所期望的。不同之处在于,您可能需要添加一个包引用,而不是添加一个程序集引用,而且包引用往往更细粒度。实现这一点的最简单方法是简单地引用一个吸收了所有其他内容的uber包 可能存在API差异

我想问:这个框架的公共名称空间之间有什么显著的区别吗?在这个框架中,我找不到任何关于基本用例差异的信息。在.NETCore中是有更难的东西,还是在可用性上它们是相同的

我知道ASP.NET和ASP.NET Core之间的区别,我对基本的.NET和.NET Core的区别感兴趣。

基本上:不。最常见的名称空间正是您所期望的。不同之处在于,您可能需要添加一个包引用,而不是添加一个程序集引用,而且包引用往往更细粒度。实现这一点的最简单方法是简单地引用一个吸收了所有其他内容的uber包

可能存在API差异,特别是当您的目标是.net标准1.3或类似版本时,如果您的目标是1.2或以下版本:您会感觉到它(windows phone、silverlight等强加的限制)。如果你的目标是.net标准1.6或2.0,你会发现普通的.net更熟悉它。如果您使用反射进行任何操作,这一点尤其明显


会有一些特性上的差异,但即使是在2.0中也会有所减少。有一个可移植性分析器可以发现有问题的API:-我发现这一结果充其量是“混合”的(它经常告诉我,我的代码没有在当前运行的平台上运行)。

谢谢你的回答。但是,我不理解关于添加引用的段落。我在.NET核心控制台应用程序中没有发现任何差异(当我想从我的解决方案中添加其他项目或从NuGet中添加一些包时也是如此)@MacakM您所针对的TFM可能已经依赖于您所需要的所有东西。然而,在幕后,包树更细粒度。如果你不需要改变它:那太好了。这对库作者的影响可能比应用程序作者更大。