环境:VS Enterprise 2015 Update 1,程序包管理器控制台主机版本3.3.0.167
重现的步骤:只需创建一个目标为.Net 4.5.2的新项目(例如控制台应用程序)(但也尝试使用其他.net版本).
当我安装nuget包时,下载包并且看似安装没有错误.但是,nuget不会添加对dll的引用.当查看packages文件夹时,事实证明没有.dlls解压缩,虽然.nupkg文件在那里并且没有损坏(我可以使用nuget包浏览器打开它并查看lib文件夹的内容).
知道是什么原因引起的吗?
包管理器控制台中的输出:
PM> install-package log4net -verbose Attempting to gather dependencies information for package 'log4net.2.0.5' with respect to project 'ConsoleApplication4', targeting '.NETFramework,Version=v4.5.2' Attempting to resolve dependencies for package 'log4net.2.0.5' with DependencyBehavior 'Lowest' Resolving actions to install package 'log4net.2.0.5' Resolved actions to install package 'log4net.2.0.5' For adding package 'log4net.2.0.5' to project 'ConsoleApplication4' that targets 'net452'. For adding package 'log4net.2.0.5' to project 'ConsoleApplication4' that targets 'net452'. Adding package 'log4net.2.0.5' to folder 'c:\Projects\ConsoleApplication4\packages' Added package 'log4net.2.0.5' to folder 'c:\Projects\ConsoleApplication4\packages' Added package 'log4net.2.0.5' to 'packages.config' Added file 'packages.config' to project 'ConsoleApplication4'. Successfully installed 'log4net 2.0.5' to ConsoleApplication4
包文件夹的内容:
C:\Projects\ConsoleApplication4\packages\log4net.2.0.5>tree /f . Folder PATH listing for volume OSDisk Volume serial number is 8CE4-F2E5 C:\PROJECTS\CONSOLEAPPLICATION4\PACKAGES\LOG4NET.2.0.5 ¦ log4net.2.0.5.nupkg ¦ +---lib +---net10-full ¦ log4net.xml ¦ +---net11-full ¦ log4net.xml ¦ +---net20-full ¦ log4net.xml ¦ +---net35-client ¦ log4net.xml ¦ +---net35-full ¦ log4net.xml ¦ +---net40-client ¦ log4net.xml ¦ +---net40-full ¦ log4net.xml ¦ +---net45-full log4net.xml
更新:发生在一些但不是所有的nuget包中
此页面上列出的解决方法似乎有效 - https://connect.microsoft.com/VisualStudio/feedback/details/1656768/installing-certain-nuget-packages-fails-to-actually-extract-the-dll-files-到的相关-LIB文件夹和-失败到附加的组件引用到的-的csproj文件
Miles Rush发表于2015年11月25日下午12:16
刚刚修复了我的>系统.进入用户配置文件NuGet缓存(C:\ Users\.nuget\packages),并删除其中的所有内容.我认为在恢复过程中我的缓存清除了所有DLL文件,当我尝试安装软件包时,它使用的是缓存而不是NuGet的文件.现在我已经清除了缓存,我现在可以安装NuGet包了.