Ho creato un programma molto semplice che dovrebbe elencare gli argomenti disponibili in un progetto Google Cloud. Il codice è banale:Perché Google.Pubsub.V1 beta01 non funziona con i progetti cli di dotnet?
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);
}
}
}
Quando eseguo questo da un progetto di "regolare" msbuild mira .NET 4.5, funziona benissimo. Quando provo ad usare dotnet cli (1.0.0-preview2-003121) con la project.json
seguente file:
{
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Google.Pubsub.V1": "1.0.0-beta01"
},
"frameworks": {
"net45": { }
}
}
... Vedo un'eccezione:
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 ...
Io non sto cercando di obiettivo. NET Core, quindi non dovrebbe essere supportato?
(Come una breve nota, il motivo principale per cui ho fatto questa domanda era di creare il tag 'google-cloud-dotnet', come tag centrale per i nostri clienti delle librerie client di Google Cloud .NET. qualcosa che potrebbe anche apparire naturale ...) –