我有一个本地包源来搞乱一些事情。我创建了一个名为CoolUtils
的脑死包,使用nuget add
添加它。你可以使用nuget找到它:
PS> nuget list -source E:\nuget-repo-test-01\
CoolUtils 2.0.20171024.1
PS> nuget list coolutils -source E:\nuget-repo-test-01\
CoolUtils 2.0.20171024.1
但是,Find-Package
无法通过名称找到它,但可以使用通配符或未指定名称找到它:
PS> Find-Package -Source E:\nuget-repo-test-01\
Name Version Source Summary
---- ------- ------ -------
CoolUtils 2.0.20171024.1 E:\nuget-repo-test-01\ Test package with dumb scripts.
PS> Find-Package *cool* -Source E:\nuget-repo-test-01\
Name Version Source Summary
---- ------- ------ -------
CoolUtils 2.0.20171024.1 E:\nuget-repo-test-01\ Test package with dumb scripts.
PS> Find-Package CoolUtils -Source E:\nuget-repo-test-01\
Find-Package : No match was found for the specified search criteria and package name 'CoolUtils'. Try Get-PackageSource to see all available registered package sources.
At line:1 char:1
+ Find-Package CoolUtils -Source E:\nuget-repo-test-01\
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Microsoft.Power...ets.FindPackage:FindPackage) [Find-Package], Exception
+ FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage
我也无法使用Install-Package
进行安装,但我可以使用nuget
。
答案 0 :(得分:3)
Cmdlet Find-Package
是 PackageManagement 模块的一部分,而Nuget.exe
是PackageManagement
模块的十几个包提供商之一
类比(不完全正确)是一个应用程序和插件:Nuget
就像一个插件,它为其应用程序(Find-Package
,Install-Package
和其他cmdlet提供功能。 PackageManagement)。
尽管Nuget
可以执行某些包管理任务,但为了在标准PackageManagement
命令的控制下工作,您应该正确地声明(“注册”)nuget的包位置让他们为PackageManagement
知道:
Register-PackageSource -name MyPackages -location E:\nuget-repo-test-01 -provider Nuget
现在Find-Package
可以搜索,Install-Package
可以从新注册的包源安装包。
Get-PackageSource
答案 1 :(得分:0)
我遇到了同样的问题,并设法通过将.nupkg文件移动到已注册的本地程序包源的根目录(即“ C:\ projects \ packages \”)中来解决了该问题
PS> Get-PackageSource -Name Local
Name ProviderName IsTrusted Location
---- ------------ --------- --------
Local NuGet False C:\projects\packages\
PS> Find-Package -Source Local -Name TestCmdlet
Name Version Source Summary
---- ------- ------ -------
TestCmdlet 1.0.0 Local Package Description