Skip to main content

De gros manques de fonctionnalités avec Git et TFS/VSTS ?

Parmi les arguments exposés contre TFS ou VSTS, il y aurait la disparition de fonctionnalités importantes quand on commence à utiliser Git. L’intégration de Git rendrait laborieuse l’utilisation de TFS/VSTS.

Je ne vais pas faire ici le point sur la liste des supposés manques, mais expliquer pourquoi ce n’est pas vrai ;)

Petit souci esthétique avec l’InAppNotification du Windows Community Toolkit 4

Lors du passage à la version 4 du Windows Community Toolkit, le style à défaut du contrôle l’InAppNotification a légèrement changé.

Sur un thème sombre, sur certains devices Windows 10 on a à défaut l’apparence suivante :

Le fond de la notification n'est pas propre

La couleur des textes s’adapte bien à thème sombre, mais pas le fond de l’ InAppNotification.

Avec un thème clair, il n’y a pas de problème.

InAppNotification propre avec le thème sombre

Le petit souci esthétique vient du fait que le Background à défaut est un AcrylicBrush. Sur certains matériels, ou versions de Windows 10, l’acrylique n’étant pas supporté, c’est la FallbackColor qui prendra le dessus.

Pour s’en sortir, il faut remplacer Background de l’InAppNotification par un AcrylicBrush avec une FallbackColor sombre. Ou alors, changer pour un Brush SolidColorBrush sombre.

Personnellement, je préfère utiliser la couleur que j’utilise pour le container de ma page.


<controls:InAppNotification 
    x:Name="InAppNotification"
    Background="{ThemeResource PageContainerBackground}"/>

Ce qui donne le rendu suivant.

Rendu propre de la notification

Jérémy Jeanson

Une solution avec Xamarin.Forms 2 et 3 en même temps, possible, mais pas facile

Dane une même solution, il est possible de faire cohabiter des projets exploitant les versions 2 et 3 de Xamarin.Forms (pour une ancienne version de Windows 10 ou Windows Mobile 10).

Lors du debug Visual Studio, ne va pas aimer. Vous risquez d’avoir d’un des messages d’erreur suivants :

Error : Xamarin.Forms tasks do not match targets. Please ensure that all projects reference the same version of Xamarin.Forms, and if the error persists, please restart the IDE.


Error MSB4062 : The "Xamarin.Forms.Build.Tasks.FixedCreateCSharpManifestResourceName" task could not be loaded from the assembly C:\Users\jeremy\.nuget\packages\xamarin.forms\2.5.1.527436\build\netstandard1.0\Xamarin.Forms.Build.Tasks.dll. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.

Ceci est lié au fait que Visual Studio se retrouve avec deux librairies différentes pour le tooling Xamar.Forms.

Comment s’en sortir ?

Trace web et ASP.net MVC, c’est possible !

Contrairement à ce que certains croient, la Trace web est disponible avec ASP.net MVC. Ceci est possible, car MVC utilise le pipeline web disponible depuis le lancement du Framework .net.

Pour l’activer, il suffit d’ajouter un nœud Trace dans la section system.web.


<system.web>
  <trace enabled="true" localOnly="false"/>
</system.web>

Et pour l’exploiter, il suffit d’accéder à la page trace.axd

Liste des trace visible sur la page trace.axd

Facile, et toujours disponible après toutes ces années ;)

Jérémy Jeanson

Besoin de vider le dossier obj avant une build ?

Par moment, il est utile de vider le dossier obj avant de lancer une build. S’il faut la faire avant chaque build, ce petit désagrément devient vite insupportable. Il existe heureusement une solution.

Il suffit d’ajouter l’élément suivant à la fin du fichier .csprpoj :


<Target Name="CleanObj" BeforeTargets="BeforeBuild">
    <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
</Target>

Personnellement, je réserve cette opération aux builds en mode Release. Je refaire donc utiliser la version suivante :


<Target Name="CleanObj" BeforeTargets="BeforeBuild" Condition="'$(Configuration)'=='Release'">
    <RemoveDir Directories="$(BaseIntermediateOutputPath)" />
</Target>
Jérémy Jeanson

Cookies Cookie Policy

This website uses cookies and similar technologies to allow us to promote our services and enhance your browsing experience. If you continue to use this website you agree to our use of cookies.