我创建了一个连接到Google Firestore的程序,并将其交给了我的朋友。该程序旨在将一个或多个字符表同步在一起,但是当我的朋友尝试运行该程序时,似乎什么也没发生。
我尝试过:
在bin \ Release中找到的东西的列表
plan
我是一名新的C#程序员,这是我制作的第一个C#程序。如果我错过了什么,请指出正确的方向。
编辑:
事件查看器日志:
信息:
11/03/2019 12:36 AM 79,872 Empty.exe
11/03/2019 12:36 AM 2,528 Empty.exe.config
11/03/2019 12:36 AM 148,992 Empty.pdb
11/03/2019 12:36 AM 253,440 Google.Api.CommonProtos.dll
11/03/2019 12:36 AM 85,684 Google.Api.CommonProtos.pdb
11/03/2019 12:36 AM 67,072 Google.Api.Gax.dll
11/03/2019 12:36 AM 61,440 Google.Api.Gax.Grpc.dll
11/03/2019 12:36 AM 14,716 Google.Api.Gax.Grpc.pdb
11/03/2019 12:36 AM 20,316 Google.Api.Gax.pdb
11/03/2019 12:36 AM 113,664 Google.Apis.Auth.dll
11/03/2019 12:36 AM 29,984 Google.Apis.Auth.pdb
11/03/2019 12:36 AM 5,120 Google.Apis.Auth.PlatformServices.dll
11/03/2019 12:36 AM 67,072 Google.Apis.Core.dll
11/03/2019 12:36 AM 20,100 Google.Apis.Core.pdb
11/03/2019 12:36 AM 72,192 Google.Apis.dll
11/03/2019 12:36 AM 17,516 Google.Apis.pdb
11/03/2019 12:36 AM 4,608 Google.Apis.PlatformServices.dll
11/03/2019 12:36 AM 148,992 Google.Cloud.Firestore.dll
11/03/2019 12:36 AM 46,120 Google.Cloud.Firestore.pdb
11/03/2019 12:36 AM 213,504 Google.Cloud.Firestore.V1.dll
11/03/2019 12:36 AM 69,728 Google.Cloud.Firestore.V1.pdb
11/03/2019 12:36 AM 44,544 Google.LongRunning.dll
11/03/2019 12:36 AM 12,088 Google.LongRunning.pdb
11/03/2019 12:36 AM 332,272 Google.Protobuf.dll
11/03/2019 12:36 AM 120,800 Google.Protobuf.pdb
11/03/2019 12:36 AM 15,344 Grpc.Auth.dll
11/03/2019 12:36 AM 3,632 Grpc.Auth.pdb
11/03/2019 12:36 AM 42,992 Grpc.Core.Api.dll
11/03/2019 12:36 AM 13,708 Grpc.Core.Api.pdb
11/03/2019 12:36 AM 468,464 Grpc.Core.dll
11/03/2019 12:36 AM 53,276 Grpc.Core.pdb
11/03/2019 12:36 AM 4,194,800 grpc_csharp_ext.x64.dll
11/03/2019 12:36 AM 3,170,800 grpc_csharp_ext.x86.dll
11/03/2019 12:36 AM 4,082,080 libgrpc_csharp_ext.x64.dylib
11/03/2019 12:36 AM 22,817,328 libgrpc_csharp_ext.x64.so
11/03/2019 12:36 AM 3,536,148 libgrpc_csharp_ext.x86.dylib
11/03/2019 12:36 AM 18,714,448 libgrpc_csharp_ext.x86.so
11/03/2019 12:36 AM 662,528 Newtonsoft.Json.dll
11/03/2019 12:36 AM 180,624 System.Collections.Immutable.dll
11/03/2019 12:36 AM 252,344 System.Interactive.Async.dll
11/03/2019 12:36 AM 25,232 System.ValueTuple.dll
错误:
Fault bucket 2141801032250789995, type 5
Event Name: CLR20r3
Response: Not available
Cab Id: 0
Problem signature:
P1: Empty.exe
P2: 1.0.0.0
P3: 93c944a7
P4: Google.Apis.Auth
P5: 1.40.2.0
P6: 80c50d57
P7: 1b9
P8: 17f
P9: System.InvalidOperationException
P10:
Attached files:
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA93D.tmp.dmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERA9FA.tmp.WERInternalMetadata.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERAA0A.tmp.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERAA08.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERAA29.tmp.txt
These files may be available here:
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_Empty.exe_c3557acbf2e4bc5cb517f9badc695114e415ad_a51ad147_6ec24a04-dfa7-427e-9e49-9a8223fcc5ac
Analysis symbol:
Rechecking for solution: 0
Report Id: 544b0265-25ce-4c40-be06-869499ad7bf2
Report Status: 268435456
Hashed bucket: 1231502c6efec9389db934b0eadf906b
Cab Guid: 0
错误:
Faulting application name: Empty.exe, version: 1.0.0.0, time stamp: 0x93c944a7
Faulting module name: KERNELBASE.dll, version: 10.0.18362.356, time stamp: 0x8c4198ab
Exception code: 0xe0434352
Fault offset: 0x00113522
Faulting process id: 0x179c
Faulting application start time: 0x01d592262c2375c7
Faulting application path: C:\Users\Dovenchiko\Desktop\Foo\Empty.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report Id: 544b0265-25ce-4c40-be06-869499ad7bf2
Faulting package full name:
Faulting package-relative application ID:
由于Application: Empty.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException
at Google.Apis.Auth.OAuth2.DefaultCredentialProvider+<CreateDefaultCredentialAsync>d__11.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at Google.Api.Gax.Grpc.ChannelPool+<CreateChannelCredentialsUncached>d__6.MoveNext()
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Google.Api.Gax.TaskExtensions.WaitWithUnwrappedExceptions(System.Threading.Tasks.Task)
at Google.Api.Gax.Grpc.ChannelPool.GetChannel(Google.Api.Gax.Grpc.ServiceEndpoint, System.Collections.Generic.IEnumerable`1<Grpc.Core.ChannelOption>)
at Empty.Form1..ctor()
at Empty.Program.Main()
行,看来我需要以某种方式对其他计算机上的会话进行身份验证。除了at Google.Apis.Auth.OAuth2.DefaultCredentialProvider+
这行之外,我还很担心,因为这是发行版本。
无论如何,如果这是身份验证问题,我该如何解决呢?
答案 0 :(得分:1)
我联系了Firebase支持人员,看看是否可以对这个主题有所了解。为了能够使用Firestore库运行C#应用程序,我需要一个未实现的功能。仍然可以使程序运行并具有登录功能的东西。当前,此功能是在创建移动应用程序和Web应用程序而不是C#应用程序时实现的。但是,似乎将来会添加它。
日期:星期二,2019年11月5日00:57:52 +0000(格林尼治标准时间)
来自:Firebase支持
收件人:“ MY_EMAIL”
主题:RE:案例****** 34:允许程序在其他计算机上运行 没有环境变量
嗨,*****,
感谢您的帮助!
我是乔尔,很高兴在这里为您提供帮助。
我想首先告诉您,官方的C#Admin SDK不会 还支持实时数据库或Firestore。您可以检查 在这里支持。
现在,您可能是在指GOOGLE_APPLICATION_CREDENTIALS 环境变量以使用Firebase验证您的应用程序。
Firebase主要面向移动应用程序和Web 应用程序也有其空间。为了管理不同 在这些应用程序的各个方面中,Admin SDK曝光了,但是 面向服务器上的工作(将在管理应用程序中使用),这就是 为什么需要用Firebase识别您的管理应用程序;至 完成项目管理任务。
您可以构建Web应用程序或移动应用程序以充分利用Firebase 服务。但是很遗憾,没有提供对C#的完全支持 然而。团队已经在处理此功能请求,但对于 现在... [还没有]。
如果您还有其他问题,请告诉我。
干杯,乔尔
答案 1 :(得分:1)
如here所述,并且在支持电子邮件中已提到,您需要使用GOOGLE_APPLICATION_CREDENTIALS
。
Firebase支持正在讨论Firebase SDK,但是您使用的是Google Cloud library,它支持本地身份验证。
要使其在本地运行,您需要遵循auth documentation,我假设您已经这样做了。
您的朋友要使其正常工作,必须对其服务帐户执行相同的步骤,然后您必须更新Firesotre(according to these docs)的权限,才能将其朋友的服务帐户正确的访问权限。
还有其他authentication options,并且都与您正在使用的Google Cloud库兼容。