2015-10-18 3 views
0

Je fais mes premiers pas dans le monde UAP dans Windows 10.types Vecteur2 dans l'incohérence de la méthode de dessin Win2D

Je suis en train d'écrire une petite application qui affiche des graphiques sur un IdO/R-EP2-dispositif en utilisant la bibliothèque Win2D.

J'ai une méthode de dessin qui affiche une seule ligne:

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 ed communauté. IntelliSense me dit que je fournis des types vector2 incompatibles avec les arguments 'a' et 'b'. Il attend Windows.Foundation.Numerics.Vector2 au lieu de System.Numerics.Vector2. Cependant, le programme compile et s'exécute très bien sur le bureau ainsi que sur le r-pi.

Des parties de mon application sont basées sur this tutorial où la méthode prend clairement System.Numeric.Verctor2 arguments.

J'ai lu dans un autre article, qu'il y a eu des modifications apportées à l'API entre Windows 8.1 et 10, ainsi que cette GitHub issue.

J'ai également importé le paquet mentionné dans ce post mais cela n'a rien changé.

Je ne sais pas si ce post a quelque chose à voir avec mon problème mais au moins il mentionne un problème avec ces deux espaces de noms.

Pourquoi IntelliSense met-il en évidence ce code comme une erreur? Y a-t-il un bug dans VS?

Est-ce que je fais quelque chose de mal ici?

Le projet: https://github.com/chrisi/IoTCanvas

Certains systèmes/IDE Caractéristiques techniques en cas pertinente:

  • Microsoft Visual Studio 2015 Communauté Version 14.0.23107.0 D14REL
  • Microsoft .NET Framework version 4.6.00079
  • version installée: Communauté
  • 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 - ENU 00322-20000-00000-AA366
  • Insights application Outils pour Visual Studio package 1.0
  • JetBrains ReSharper ultime 2015,2 Construire 103.0.20150818.200216
  • Microsoft Azure services mobiles Outils 1.4
  • NuGet package Manager 3.2.0
  • PreEmptive Analytics Visualizer 1.2
  • SQL Server Compact & SQLite Toolbox 4.3.0
  • Visual Studio Tools pour Universal Windows Apps 14.0.23309.00 d14oob
+0

Je ne vois pas de tels problèmes en essayant ceci. Cela se passe rapidement, veillez à rechercher des notifications de mise à jour. Et vous devrez poster le contenu de votre fichier de projet. –

+0

J'ai ajouté quelques informations sur le projet et la version IDE – gofrm

+0

Supprimez System.Numerics.Vectors du noeud Références du projet. Le reste a l'air bien. Il se peut que Resharper soit confus, je ne l'utilise pas. –

Répondre

1

System.Numerics.Vectors est livré avec Windows 10 et vous n'avez pas besoin de l'installer séparément.

La raison pour laquelle vous voyez des références à Windows.Foundation.Numerics est que Windows.Foundation.Numerics est le nom du type WinRT. Cela est projeté dans .NET en tant que System.Numerics.Vector2. D'autres langages peuvent le projeter différemment - en C++/CX c'est Windows :: Foundation :: Numerics :: float2, par exemple.

Je soupçonne fortement que vous rencontrez un problème avec ReSharper - voir https://github.com/Microsoft/Win2D/issues/145. Le mot à partir de là est:

Celui-ci est corrigé dans R # 10 et le correctif sera disponible dans l'une des prochaines générations EAP.

+0

Je n'ai pas eu la chance de vérifier cela car j'ai besoin de resharper pour d'autres projets donc je vais devoir vivre avec ce problème pour le moment mais le lien avec Win2D était très instructif. – gofrm

+0

Juste installé la nouvelle version de Resharper - L'erreur est partie. Merci encore! – gofrm