2015-10-18 2 views
0

Я делаю свои первые шаги в мир UAP в ОС Windows 10.типов Vector2 в Win2D чертежных метода несогласованности

Я пытаюсь написать небольшое приложение, которое отображает графику на IoT/R-PI2-устройстве используя библиотеку Win2D.

У меня есть метод рисования, который отображает одну строку:

private void Canvas_Draw(CanvasControl sender, CanvasDrawEventArgs args) 
{ 
    var a = new System.Numerics.Vector2(10,10); 
    var b = new System.Numerics.Vector2(100,100); 

    args.DrawingSession.DrawLine(a,b,Colors.Yellow); 
} 

VS2015 сообщество ред. IntelliSense говорит мне, что я поставляю несовместимые типы vector2 с аргументами «a» и «b». Ожидается, что Windows.Foundation.Numerics.Vector2 вместо System.Numerics.Vector2.

Однако программа компилируется и работает отлично, как на рабочем столе, так и на r-pi.

Части моего приложения основаны на this tutorial, где метод явно принимает аргументы System.Numeric.Verctor2.

Я прочитал в другом сообщении, что были внесены изменения в API между Windows 8.1 и 10, а также этот GitHub issue.

Я также импортировал пакет, упомянутый в этом посте, но ничего не изменил.

Я не знаю, связано ли это сообщение с моей проблемой, но по крайней мере она упоминает проблему с этими двумя пространствами имен.

Почему IntelliSense выделяет этот код как ошибку? Есть ли ошибка в VS?

Я делаю что-то не так здесь?

Проект: https://github.com/chrisi/IoTCanvas

Некоторые системы/IDE функции в случае, если имеет отношение:

  • Microsoft Visual Studio 2015 Версия Community 14.0.23107.0 D14REL
  • Microsoft .NET Framework версии 4.6.00079
  • Установленная версия: Сообщество
  • Visual Basic 2015 00322-20000-00000-AA366
  • Visual C# 2015 00322-20000-00000-AA366
  • Visual C++ 2015 00322-20000-00000-AA366
  • Windows Phone SDK 8.0 - Гумилева 00322-20000-00000-AA366
  • Применение Insights Инструменты для Visual Studio Пакет 1,0
  • JetBrains ReSharper Окончательный 2015,2 Сложение менеджер 103.0.20150818.200216
  • Microsoft Azure Mobile Services Инструменты 1,4
  • NuGet Пакет 3.2.0
  • Preemptive Analytics Visualizer 1,2
  • SQL Server Compact & SQLite Toolbox 4.3.0
  • Инструменты Visual Studio для универсальных приложений Windows 14.0.23309.00 d14oob
+0

Я не вижу таких проблем при попытке этого. Это быстро перемещается, обязательно смотрите уведомления об обновлениях. И вам нужно будет опубликовать содержимое вашего файла проекта. –

+0

Я добавил некоторую информацию о проекте и идее-версии – gofrm

+0

Удалить System.Numerics.Vectors из узла «Ссылки» проекта. Отдых выглядит хорошо. Это может быть проблема с решаром, я не использую ее. –

ответ

1

System.Numerics.Vectors поставляется с Windows 10 и вам не нужно устанавливать его отдельно.

Причина, по которой вы видите ссылки на Windows.Foundation.Numerics - это то, что Windows.Foundation.Numerics - это имя типа WinRT. Это проецируется в .NET как System.Numerics.Vector2. Другие языки могут проектировать его по-другому - например, в C++/CX это Windows :: Foundation :: Numerics :: float2.

Я сильно подозреваю, что вы столкнулись с проблемой с ReSharper - см. https://github.com/Microsoft/Win2D/issues/145. Слово оттуда:

Этот номер исправлен в R # 10, и исправление будет доступно в одной из следующих сборок EAP.

+0

У меня не было возможности проверить это, поскольку мне нужен решар для других проектов, поэтому мне придется жить с этой проблемой на данный момент, но ссылка на выпуск с Win2D была очень информативной. – gofrm

+0

Только что установил новую версию Resharper - Ошибка исчезла. Еще раз спасибо! – gofrm

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