我是Google Analytics新手并尝试将其与我的Windows手机应用程序集成。我按照以下步骤操作:创建跟踪ID,安装nuget包以及编辑analytics.xaml中的信息。
<?xml version="1.0" encoding="utf-8" ?>
<analytics xmlns="http://googleanalyticssdk.codeplex.com/ns/easytracker">
<trackingId>UA-49305542-1</trackingId>
<appName>MyPhoneApp</appName>
<appVersion>1.0.0.0</appVersion>
</analytics>
我甚至在我的应用初始化程序中添加了一个跟踪器
GoogleAnalytics.EasyTracker.GetTracker().SendView("MainPage");
当我尝试在模拟器中执行代码时,我遇到了异常。详情如下
消息:
为名称为“”的GoogleAnalytics.Core.IPlatformInfoProvider类型检测到覆盖现有映射的尝试,目前已映射到类型GoogleAnalytics.Core.PlatformInfoProvider,以键入GoogleAnalytics.PlatformInfoProvider。
堆栈追踪:
at Microsoft.Practices.Unity.UnityContainerRegistrationByConventionExtensions.RegisterTypeMappings(IUnityContainer container,Boolean overwriteExistingMappings,Type type,String name,IEnumerable1 fromTypes,Dictionary2 mappings) 在Microsoft.Practices.Unity.UnityContainerRegistrationByConventionExtensions.RegisterTypes(IUnityContainer容器,IEnumerable1类型,Func2 getFromTypes,Func2 getName,Func2 getLifetimeManager,Func`2 getInjectionMembers,Boolean overwriteExistingMappings) at MyPhoneApp.IocContainer.AppContainer.RegisterMySdk() at MyPhoneApp.IocContainer.AppContainer.Initialize(Frame rootFrame,DataContext dataContext) 在MyPhoneApp.App.d_ 5.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束--- 在System.Runtime.CompilerServices.AsyncMethodBuilderCore.b _0(对象状态)
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
Unity Container提供了一个覆盖默认行为的选项。
App.Container.RegisterTypes(
AllClasses.FromApplication(),
WithMappings.FromMatchingInterface,
WithName.Default,
overwriteExistingMappings:true);
添加额外参数解决了问题。