无法将Build Action设置为GoogleServiceJson

时间:2017-03-08 17:18:40

标签: xamarin push-notification xamarin.android google-play-services

我正在使用Xamarin-Android制作应用程序,所以我需要将Build Action设置为我的google-services.json文件,但是没有像GoogleServicesJson这样的属性,当我尝试写它时,它给我一个例外:

  

类型'System.Runtime.InteropServices.ExternalException'的异常   被扔了。

我尝试保存然后重新启动Visual Studio,但它没有解决问题。

如果您知道如何解决这个问题,请帮助我! :)
That's the file I'm clicking on

9 个答案:

答案 0 :(得分:20)

GoogleServicesJson构建类型来自Xamarin.GooglePlayServices.Basement.targets

如果您的项目没有通过其中一个家属安装Xamarin.GooglePlayServices.Basement,通常是Xamarin.GooglePlayServices.GcmXamarin.Firebase.Messaging,如果我们正在谈论消息传递,那么您将无法使用该构建操作。

添加安装Basement的软件包或自行手动添加后,.csproj将包含Xamarin.GooglePlayServices.Basement.targets的导入,GoogleServicesJson将作为构建类型提供:

.csproj导入示例:

  <Import Project="..\packages\Xamarin.GooglePlayServices.Basement.42.1001.0\build\MonoAndroid70\Xamarin.GooglePlayServices.Basement.targets" Condition="Exists('..\packages\Xamarin.GooglePlayServices.Basement.42.1001.0\build\MonoAndroid70\Xamarin.GooglePlayServices.Basement.targets')" />

答案 1 :(得分:11)

即使安装了“Xamarin.GooglePlayServices.Basement”,GoogleServiceJson选项也未显示。令人惊讶的是,当我退出Xamarin工作室并再次打开它时,它开始显示。

答案 2 :(得分:5)

1 - 首先下载这些包:

Xamarin.Firebase.Common

Xamarin.Firebase.Config

Xamarin.Firebase.Iid

Xamarin.GooglePlayServices.Base

Xamarin.GooglePlayServices.Basement

Xamarin.GooglePlayServices.Tasks

2 - 然后重新启动并重建 3 - 来自 google-services.json - &gt;属性 - &gt;构建动作:GoogleServicesJson

答案 3 :(得分:1)

首先下载这些套餐:

enter image description here

然后重启

enter image description here

答案 4 :(得分:0)

GoogleServiceJsom来自Xamarin.GooglePlayServices.Basement包。如果在程序包安装后重新启动Visual Studio项目时看不到它,它将起作用

答案 5 :(得分:0)

在Visual Studio中,关闭项目并重新打开它。对我有用:)

答案 6 :(得分:0)

我想我做错了,但是您无法像Mac中的示例一样通过右击来获得Build操作 enter image description here

PS,您不正确地单击Google-Services.json并看到Build avtion 您按属性,然后在属性处找到“构建”操作

enter image description here

答案 7 :(得分:0)

使用AppCenter时,我没有将App Center和App Center Push程序包添加到Android Dependencies文件夹中。添加GoogleServicesJson后,立即出现了

答案 8 :(得分:0)

我之所以陷入困境,是因为微软指南https://docs.microsoft.com/en-us/xamarin/android/data-cloud/google-messaging/remote-notifications-with-fcm?tabs=windows说要直接安装Xamarin.GooglePlayServices.Base。

有效的方法: 通过Nuget安装Xamarin.GooglePlayServices.Gcm