Ich habe ein sehr einfaches Programm erstellt, das die in einem Google Cloud-Projekt verfügbaren Themen auflisten soll. Der Code ist trivial:Warum funktioniert Google.Pubsub.V1 beta01 nicht mit dotnet cli-Projekten?
using System;
using Google.Pubsub.V1;
public class Test
{
static void Main()
{
var projectId = "(fill in project ID here...)";
var projectName = PublisherClient.FormatProjectName(projectId);
var client = PublisherClient.Create();
foreach (var topic in client.ListTopics(projectName))
{
Console.WriteLine(topic.Name);
}
}
}
Als ich dies von einem "normalen" msbuild Projekt laufen Targeting .NET 4.5, es funktioniert gut. Wenn ich versuche, dotnet cli (1.0.0-preview2-003121) mit folgenden project.json
-Datei zu verwenden:
{
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Google.Pubsub.V1": "1.0.0-beta01"
},
"frameworks": {
"net45": { }
}
}
... sehe ich eine Ausnahme:
Unhandled Exception: System.IO.FileNotFoundException: Error loading native library.
Not found in any of the possible locations c:\[...]\Pubsub.Demo\bin\Debug\net45\win7-x64\nativelibs\windows_x64\grpc_csharp_ext.dll
at Grpc.Core.Internal.UnmanagedLibrary.FirstValidLibraryPath(String[] libraryPathAlternatives)
at Grpc.Core.Internal.UnmanagedLibrary..ctor(String[] libraryPathAlternatives)
at ...
Ich bin nicht zu versuchen, Target .NET Core, sollte dies nicht unterstützt werden?
(Kurz gesagt, mein Hauptgrund für diese Frage war die Erstellung des Tags "google-cloud-dotnet" als zentrales Tag für unsere Kunden der Google Cloud .NET-Clientbibliothek. Aber ich erwarte, dass dies der Fall ist etwas, das natürlich ganz natürlich kommen könnte ...) –