為已有的幾個項目添加了一個nuget package 后,在解決方法中添加了一個新項目,然后想把這個nuget package添加到這個新建的項目中去,可以此時無法添加。
怎么辦那?
【解決方法】
There's 3 approaches :). Get-Project -All | Install-Package SomePackage That will install "SomePackage" into all of your projects. You can use wildcards to narrow down which projects: Get-Project Mvc* | Install-Package SomePackage That will use wildcard semantics (in this case, find all projects that start with mvc). Get-Project SomeProject | Install-Package SomePackage That will install SomePackage into SomeProject and nothing else. |
如果在運行的時候出現如下的提示:
<Project name> already has a reference to <Package>.
那就檢查一下項目的package.config文件,如果已經有了引用,就刪掉。另外也看一下項目的references,如果有了,也刪掉。
如果在運行命令的時候,出現了如下的錯誤信息。
Install-Package : An error occurred while loading packages from'https://www.nuget.org/api/v2/curated-feeds/microsoftdotnet/': The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. At line:1 char:45 + Get-Project NotesDataExporterCloud.Common | Install-Package Newtonsoft.Json + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand |
原因是www.nuget.org的證書過期了,解決方法是添加自己的Package Source.
注意machine-wide package sources 下面的checkbox一定要勾掉,不然的話運行命令的時候會用這個來鏈接Nuget,還是會報證書的錯誤。