2015-05-03 4 views
4

Я начинаю изучать Application Insights и пытаюсь добавить его в мое приложение Windows Phone 8.1. При попытке выполнить проект исключение вызывается при загрузке в пределах Public Sub New() в App.xaml.vb. Линия, на которой происходит ошибкаПриложение Insights не работает с System.Reflection.TargetInvocationException при загрузке - WP 8.1

TelemetryClient = new TelemetryClient() 

Исключение брошено является

Первый шанс исключение типа «System.Reflection.TargetInvocationException» произошло в mscorlib.ni.dll

Исключением типа «System.Reflection.TargetInvocationException» произошел в mscorlib.ni.dll, но не обрабатывался в коде пользователя

Дополнительная информация: Исключение было выбрано целевой вызова.

InnerException детали:

{System.InvalidOperationException: Тип 'Microsoft.ApplicationInsights.Extensibility.ComponentContextInitializer, Microsoft.ApplicationInsights, версия = 0.16.1.418, культура = нейтральной, PublicKeyToken = 31bf3856ad364e35' не реализовать требуемый интерфейс

Microsoft.ApplicationInsights.Extensibility.IContextInitializer. в Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryConfigurationFactory.CreateInstance (тип InterfaceType, String TypeName) в Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryConfigurationFactory.LoadInstance (определение XElement, тип expectedType, экземпляр объекта) в Microsoft.ApplicationInsights.Extensibility .Implementation.TelemetryConfigurationFactory.LoadInstances [Т] (определение XElement, экземпляры ICollection`1)}

Я последовал шаги, описанные in the Azure documentation. Что я могу делать неправильно?

+0

Что такое 'InnerException'? «TargetInvocationException» всегда имеет один. (Он сообщает вам, что на самом деле произошло в методе с рефлексивным вызовом.) Видя какой-то другой код в 'New()', также может помочь нам. –

+0

Я добавил данные о innerexception для справки. Что касается другого кода в New(), это первая строка, за которой следует InitializeComponent() – Jay

+0

Отключен ли ваш отладчик прерывать исключения с первым шансом? Что произойдет, если вы просто продолжите выполнение после исключения? –

ответ

0

Оказывается, это было поврежденное решение. Я добавил nuget, а затем добавил Application Insights. В промежутке я обновил пакет самородок до версии до версии 0.16. По сути, он создал несколько ссылок. Поэтому я вручную удалил все записи Microsoft.ApplicationInsights в пакетах.config и .vbproj. Я также удалил все ссылки и снова ссылался на все это. Теперь это работает как шарм!

0

Вы используете приложение Windows Phone поверх Windows Runtime или поверх Silverlight?

Если вы удалите следующую строку из ApplicationInsights.config, начнется ли ваше приложение?

<Add Type="Microsoft.ApplicationInsights.Extensibility.ComponentContextInitializer, Microsoft.ApplicationInsights"/> 
+0

Его приложение Runtime. Удаление линии не имеет значения, и она по-прежнему падает. – Jay

+0

Последний NuGet больше не использует «использование». Вместо этого он добавляет: TelemetryClient = new Microsoft.ApplicationInsights.TelemetryClient() Так что кажется, что вы не используете последнюю версию. Можете ли вы попытаться запустить новый проект и убедиться, что вы устанавливаете этот NuGet: https://www.nuget.org/packages/Microsoft.ApplicationInsights.WindowsApps/0.16.1-build00418 – user3426913

+0

Да. Наличие последней версии 0.16 build 418 pre-release с 1 мая 2015 года. По-прежнему не повезло и получило то же исключение. – Jay

Смежные вопросы