error : Error initializing task XamlG: Not registered task XamlG

error : Error initializing task XamlG: Not registered task XamlG

我正在为 IOS 和 Android 平台开发 Xamarin Forms (PCL) 应用程序。

我的 Xamarin Studio 版本是 5.5.4(Build 15)。我在稳定频道。

我的 Xamarin Forms dll 版本是 1.3.0.6292。

我还添加了来自 NuGet v1.2.0 的 Xamarin Forms Labs 参考。

从昨天开始,每当我构建解决方案时,我都会收到以下错误:

error : Error initializing task XamlG: Not registered task XamlG.

这个错误有什么可能的解决方法吗?我已经尝试过多次清理和构建。甚至删除了整个源代码并从源代码管理中重新下载了所有内容,但同样的错误。

如果您从 Xamarin.Forms 的旧版本升级到新版本,就会发生此错误。潜在的问题是错误的 Xamarin.Forms.Build.Tasks.dll 与 custo MSBuild Xamarin.Forms.targets 文件所期望的相比正在加载。

在 Xamarin Studio 中有一个 bug,其中在升级 NuGet 包后仍然使用旧构建 Xamarin.Forms 构建任务。您可以通过关闭并重新打开解决方案来解决此问题。

但是你说你已经删除了源代码并重新下载了所有东西所以听起来你遇到了不同的问题。可能是您的项目试图同时使用两个不同版本的 Xamarin.Forms。我会在文本编辑器中查看您的项目文件 (.csproj),并确保它们都使用一个版本的 Xamarin.Forms。检查它们是否都引用了 Xamarin.Forms.targets 的单一版本并且是同一版本。

这很傻。

我刚刚将项目重新克隆到一个新的文件夹中,并从头开始构建它,它成功了。我使用 Xamarin Forms 的次数越多,它看起来就越有缺陷和不成熟。仅通过重建项目即可解决随机问题。或者就像马特在下面的回答中指出的那样,只需重新启动工作室即可。根据我在不同 IDE 和平台上的编程经验,似乎只有 Xamarin 经常出现这些问题。