首页 文章

NuGet无法在现有项目中安装Grpc.Tools

提问于
浏览
0

我正在尝试使用VS 2017 Enterprise安装NuGet包 Grpc.Tools 以及 GrpcGrpc.CoreGoogle.Protobuf . 安装除 Grpc.Tools 之外的所有包 . 如果我尝试安装 Grpc.Tools 我没有得到 packages/ 内的相应文件夹 . 包管理器命令行发出以下输出:

"Grpc.Tools 1.4.1" wird installiert.
Das NuGet-Paket "Grpc.Tools 1.4.1" wird installiert.
Commit für Wiederherstellung wird ausgeführt...
Die Sperrdatei wird auf den Datenträger geschrieben. Pfad: C:\Users\User\Documents\Visual Studio 2017\Projects\Muffelsausen\CommInterface\obj\project.assets.json
Wiederherstellung in "5,06 sec" für "C:\Users\User\Documents\Visual Studio 2017\Projects\Muffelsausen\CommInterface\CommInterface.csproj" abgeschlossen.
"Grpc.Tools 1.4.1" wurde erfolgreich auf "CommInterface" installiert.
Commit für Wiederherstellung wird ausgeführt...
Die Assetdatei wurde nicht geändert. Das Schreiben der Assetdatei wird übersprungen. Pfad: C:\Users\User\Documents\Visual Studio 2017\Projects\Muffelsausen\CodeOfPointsHost\obj\project.assets.json
Wiederherstellung in "14,87 ms" für "C:\Users\User\Documents\Visual Studio 2017\Projects\Muffelsausen\CodeOfPointsHost\CodeOfPointsHost.csproj" abgeschlossen.

Verwendete NuGet-Konfigurationsdateien:
    C:\Users\User\AppData\Roaming\NuGet\NuGet.Config
    C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config

Verwendete Feeds:
    C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
    https://api.nuget.org/v3/index.json
Das Ausführen von NuGet-Aktionen hat 1,75 sec gedauert.
Verstrichene Zeit: 00:00:06.8978688
========== Abgeschlossen ==========

NuGet-Pakete werden wiederhergestellt...
Verstrichene Zeit: 00:00:00.7245861
========== Abgeschlossen ==========

我没有看到任何错误 . 但是, packages/ 中没有添加 Grpc.Tools 子文件夹 . 因此,我没有 protoc 编译器 . 奇怪的是,如果我在一个新的空项目中重复相同的过程,则实际安装了这些工具 . 知道为什么VS 2017在我的情况下失败了吗?

我的解决方案中有几个项目:多个.NET Core 2.0类库一个.NET Core 2.0控制台应用程序* .NET 4.6.2 WPF桌面项目* .NET 4.6.2 XAML资源字典项目

唯一的解决方法是手动复制/粘贴 Grpc.Tools 文件夹 .

1 回答

  • 1

    NuGet无法在现有项目中安装Grpc.Tools

    您必须将 Grpc.Tools 安装到.net核心项目中 . The default packages directory for .net core projects is %USERPROFILE%/.nuget/packages . 如果将此软件包安装到WPF项目,则会在 packages 文件夹中看到此软件包 .

    这就是为什么你注意到VS实际上将软件包安装到你的用户配置文件中而不是使用你的本地 packages 文件夹 . 那是因为.Net Core项目依赖于如此多的NuGet包 . 几乎徘徊在1GB左右 . 我认为你不想为每个解决方案设置所有这些包 . 所以NuGet团队使用globe目录进行.net核心项目 .

    如果您仍希望此软件包存在于本地文件夹中(不推荐),则可以设置“ NUGET_PACKAGES " environment variable. Just Set " NUGET_PACKAGES " = " c:\ teampackages” . 或者,您可以在解决方案旁边放置一个NuGet.Config文件,其中包含以下内容:

    <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <config>
          <add key="globalPackagesFolder" value=".\packages" />
        </config>
      </configuration>
    

    有关详细信息,请参阅GitHub上的the same issue .

相关问题