Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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
Visual studio 如何在正常的PowerShell会话(不在Visual Studio中)中运行Nuget PowerShell cmdlet安装包?_Visual Studio_Powershell_Installation_Nuget_Nuget Package - Fatal编程技术网

Visual studio 如何在正常的PowerShell会话(不在Visual Studio中)中运行Nuget PowerShell cmdlet安装包?

Visual studio 如何在正常的PowerShell会话(不在Visual Studio中)中运行Nuget PowerShell cmdlet安装包?,visual-studio,powershell,installation,nuget,nuget-package,Visual Studio,Powershell,Installation,Nuget,Nuget Package,我想做一些自动化工作,其中一个步骤是为Visual Studio C项目安装一个Nuget软件包。在Visual Studio中,我可以在Package Manager控制台面板中运行命令安装Package JetBrains.Annotations。但是,相同的命令在正常的PowerShell会话中不起作用。如何在正常的PowerShell会话中为Visual Studio C#project安装程序包?我将使用*-packagecmdlet。我用NuGet做了一些自动化工作,我必须在NuGe

我想做一些自动化工作,其中一个步骤是为Visual Studio C项目安装一个Nuget软件包。在Visual Studio中,我可以在Package Manager控制台面板中运行命令
安装Package JetBrains.Annotations
。但是,相同的命令在正常的PowerShell会话中不起作用。如何在正常的PowerShell会话中为Visual Studio C#project安装程序包?

我将使用
*-package
cmdlet。我用NuGet做了一些自动化工作,我必须在NuGet CLI或PowerShell
*-Package
cmdlet之间进行选择。自2017年2月以来,所有版本的nuget列表都不起作用(请参阅)。我决定使用PowerShell cmdlet

发件人:

您可能必须通过
-ProviderName
将提供者名称定义为
NuGet

指定一个或多个程序包提供程序名称,以确定程序包搜索的范围。可以通过运行get-PackageProvider cmdlet获取包提供程序名称

接受值:msi、程序、msu、引导、PSModule、nuget、巧克力

尽管这个问题被标记为重复,我还是写了这个答案的原因:

将此问题标记为重复的答案指的是使用Visual Studio内置管理控制台(作为单独的Powershell主机实现,因此无法通过标准Powershell使用)或通过NuGet CLI工具(未涵盖我的所有自动化要求)。此答案不包括使用“*-Package`cmdlet

更新1

下面是一个如何安装
log4Net
NuGet软件包的示例:

  Install-Package log4net -ProviderName NuGet -Source https://www.nuget.org/api/v2 -Scope CurrentUser -Force
获取更多信息后台安装了什么,您可以附加
-Verbose
开关


据我所知,你必须使用NuGet的
v2
API。

这个问题的重复:也许你想要的是:和。在你安装并注册提供商之后,一个简单的命令,如
install package xxx-sourcehttps://www.nuget.org/api/v2
可以为您安装相应的软件包。(我建议以管理员的身份运行)您好@Moerwald,我成功安装了NuGet.Core。但是我不知道如何使用它来安装软件包。您能举个例子吗?谢谢您的更新。我正在尝试。只是为了确认,命令
install package log4net…
将Visual Studio项目的log4net安装在当前工作目录中,而不仅仅是inst所有这些都在计算机上,对吗?默认情况下,它会在
~\AppData\Local\PackageManagement\NuGet\Packages\log4net.2.0.8\log4net.2.0.8.nupkg
下安装程序包,但cmldet有一个
-Destination
参数,请尝试此参数。您还可以尝试与Powershell和Cake()的混合,您可以通过cake来完成visual studio的工作,并从Powershell中调用cakes build.ps1。假设NuGet.Core是NuGet.org中的包,那么它的版本是2.14.0,它来自visual studio 2013,这就是为什么它不支持v3提要,并且将缺少NuGet 3.x和更高版本中添加的任何功能,例如使用语义的NuGet包提供的支持版本控制的
+构建
元数据,因此您将无法以这种方式安装/升级许多软件包的最新版本。
  Install-Package log4net -ProviderName NuGet -Source https://www.nuget.org/api/v2 -Scope CurrentUser -Force