Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用4.6.1添加netstandard_C#_.net_Visual Studio 2017_.net Standard - Fatal编程技术网

C# 使用4.6.1添加netstandard

C# 使用4.6.1添加netstandard,c#,.net,visual-studio-2017,.net-standard,C#,.net,Visual Studio 2017,.net Standard,随着netstandard的到来,创建可在netcore和netframework中使用的库应该会更容易。还可以将多个目标框架添加到netstandard库中,以便为多个目标构建该库。然而,我觉得这里面有些东西不对劲,也许我看错了。我会尽我最大的努力解释这个场景 我有这个netstandard库,目标是netstandard1.5和net461。为此,我将项目更改为,并添加了两个目标。这个项目正在构建并打包成一个nuget包,仔细检查,它确实包含net461和netstandard1.5的二进制

随着netstandard的到来,创建可在netcore和netframework中使用的库应该会更容易。还可以将多个目标框架添加到netstandard库中,以便为多个目标构建该库。然而,我觉得这里面有些东西不对劲,也许我看错了。我会尽我最大的努力解释这个场景

我有这个netstandard库,目标是netstandard1.5和net461。为此,我将项目更改为,并添加了两个目标。这个项目正在构建并打包成一个nuget包,仔细检查,它确实包含net461和netstandard1.5的二进制文件。有了这个,我假设我有一个库可以添加到netcore项目或netframework项目中,并且依赖性最小。此外,该库依赖于Microsoft.Extensions.Logging.Abstracts(1.1.2)、Newtonsoft.Json(10.0.2)和System.Security.SecureString(4.3)

另一方面,我有一个经典的控制台项目,使用NetFramework461。当然,我想在这里使用这个库,因为它是一个NetFramework461项目,而且这个库也以NetFramework461为目标,所以我认为依赖关系应该保持在最低限度。当我寻找这个软件包时,它的依赖项正是我所期望的,但是当我去尝试安装它时,我得到了大量我认为不必要的依赖项,比如NETStandard.Library(1.6.2)、Microsoft.NETCore.Platforms(1.1.0)、System.Runtime(4.3)及其所有关联项(集合、io、安全性等)。我认为我不需要添加所有这些依赖项,因为库的目标是netframework,但似乎我错了,或者其他什么地方错了


有谁能提供一些见解吗?

我想我会回答我自己的问题,其实并不复杂

事实证明,Microsoft.Extensions.Logging只针对netstandard,因此需要所有其他依赖项

一旦我删除了Microsoft软件包并重新构建了自己的软件包,我就能够将它作为一个依赖项添加到netframework项目中,而不需要任何混乱

也许这会对将来的人有所帮助…

您可以移植到netstandard2(它是最终版本),并使用VS2017更新3。我希望你不会发现依赖的泛滥。