Nuget将System.Console安装为我的UWP库的依赖项

时间:2017-02-20 15:17:08

标签: visual-studio-2015 uwp nuget

我为UWP应用创建了一个库。 project.json是这样的:




  {
 “依赖”:{
 “System.Collections.NonGeneric”:“4.0.1  -  *”,
 “System.Collections.Specialized”:“4.0.1  -  *”,
 “System.Net.Requests”:“4.0.11  -  *”,
 “System.Net.Security”:“4.0.0  -  *”,
 “System.Security.Cryptography.Algorithms”:“4.2.0  -  *”,
 “System.Security.Cryptography.Pkcs”:“4.0.0  -  *”,
 “System.Globalization.Extensions”:“4.0.1  -  *”
 },
 “框架”:{
 “uap10.0”:{
 “依赖”:{
 “Microsoft.NETCore.UniversalWindowsPlatform”:“5.2.2  -  *”,
 “System.Runtime.InteropServices.RuntimeInformation”:“4.0.0  -  *”
 }
 },
 “netstandard1.3”:{
 “依赖”:{
 “NETStandard.Library”:“1.6.0  -  *”,
 “System.Xml.XmlDocument”:“4.0.1  -  *”,
 “System.Net.NetworkInformation”:“4.1.0  -  *”,
 “System.Net.NameResolution”:“4.0.0  -  *”,
 “Microsoft.Win32.Registry”:“4.0.0  -  *”,
 “System.Threading.Thread”:“4.0.0  -  *”
 }
 }
 }
}
  




我创建了一个nuget包,看起来像这样:


&#xA ;
 <?xml version =“1.0”encoding =“utf-8”?>
< package xmlns =“http://schemas.microsoft.com/packaging/2013/ 05 / nuspec.xsd“>
 <元数据>
 < ID> ...< / ID>
 <版本> ...< /版本>
 <标题> ...< /标题>
 <作者> ...< /作者>
 <业主> ...< /所有者>
 < requireLicenseAcceptance&GT假LT; / requireLicenseAcceptance>
 < licenseUrl> ...< / licenseUrl>
 < projectUrl> ...< / projectUrl>
 < iconUrl ...< / iconUrl>
 <描述> ...< /描述>
 <总结> ...< /总结>
 <阅读发布> ...< /阅读发布>
 <版权> ...< /版权>
 <标记> ...< /标记>
 <依赖性>
 < group targetFramework =“。NETStandard1.3”>
 < dependency id =“NETStandard.Library”version =“1.6.0”/>
 < /组>
 < /依赖性>
 < /元数据>
< /包>
  




即。目前还没有UWP lib的依赖信息。





但是,安装此软件包时,nuget会提示我安装System.Console软件包。


 






我很确定我永远不会访问我的库中的Console,也不会访问Dependency Walker看到任何对它的引用。为什么会这样?是否有可能来自project.json依赖项的其他库间接依赖它?我在Dependency Walker中引用了libs的依赖,但是在第一级找不到任何东西(依赖树深入到手动查找每个依赖项)。





如何识别哪个引用导致System.Console依赖性出现?它可以吗?我的印象是控制台和UWP不顺利。





Nuget 3.5,Visual Studio 2015 Update 3.




1 个答案:

答案 0 :(得分:1)

你的nuget包中有.NETStandard.Library与版本1.6.0的依赖关系。然后,您可以在程序包管理器UI或NuGet.org中检查NETStandard.Library 1.6.0的依赖项,找出依赖关系System.Console(&gt; = 4.0.0)由NETStandard.Library引用:< / p>

enter image description here

安装NuGet软件包UniApp后,它就可以了。在成功安装该软件包之后,下面是我的project.json文件。

enter image description here