Nuget restore error:此文件夹包含多个解决方案文件

Dio*_*ung 6 c# build-process nuget nuget-package-restore

我有这种解决方案和项目的结构:

projects
|--.nuget
|  |--packages.config
|
|--projFolderA
|  |--projectA.csproj  
|  
|--projFolderB
|  |--projectB.csproj  
|
|--projFolderC
|  |--projectC.csproj  
|    
|--solutionAB.sln
|--solutionBC.sln
|--solutionCA.sln
Run Code Online (Sandbox Code Playgroud)

每个解决方案都配置为使用nuget使用一些库.现在,当我运行:nuget restore,我得到了这个错误:This folder contains more than one solution file.但是如果我在VS2013中打开每个解决方案那么它就没问题了.

这是我的每个*.sln文件中的nuget设置:

Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{334B5D1D-8694-472B-8170-3D36A395DCEF}"
    ProjectSection(SolutionItems) = preProject
        .nuget\packages.config = .nuget\packages.config
    EndProjectSection
EndProject
Run Code Online (Sandbox Code Playgroud)

我做错了什么 ?nuget restore在这种情况下如何从控制台运行?

Kil*_*man 17

尝试 nuget restore solutionABC.sln

请参阅https://docs.nuget.org/consume/command-line-reference

请参阅下面的粗体部分,了解您收到错误的原因.

还原命令说明

restore命令按以下步骤执行:

确定还原命令的操作模式.

如果指定了packages.config文件,则nuget将恢复packages.config文件中列出的软件包.

如果解决方案被指定,恢复的NuGet为解决方案的项目包.在这种情况下,nuget需要找到解决方案文件.

如果solution是文件,则该文件用作解决方案文件.

如果solution是目录,则nuget在该目录中搜索*.sln文件.如果找到一个文件,该文件将用作解决方案文件.否则,nuget会显示错误消息并退出.

如果未提供参数,则nuget首先在当前目录中查找解决方案文件.如果只有一个解决方案文件,nuget将恢复该解决方案的包.如果有多个解决方案文件,则会显示错误消息并退出nuget.

如果没有解决方案文件,nuget会在当前目录中搜索packages.config文件.如果文件存在,nuget将恢复packages.config文件中列出的包.

如果当前目录中没有解决方案文件且没有packages.config文件,则会显示错误消息并退出nuget.

如果操作模式正在恢复解决方案,则-SolutionDirectory选项不适用.在这种情况下,nuget会显示错误消息并退出.