Archives de catégorie : Développement

Histoire d’une migration en .NET Core – Partie 2

Histoire d’une migration en .Net Core – Partie 2

Dans la première partie nous avons effectué la migration de la librairie en elle-même.

Maintenant nous allons travailler sur les tests unitaires qui vont nous permettre de valider notre librairie (et découvrir quelques blagues).

Continuer la lecture de Histoire d’une migration en .NET Core – Partie 2

Histoire d’une migration en .NET Core – Partie 1

Histoire d’une migration en .Net Core

A moins que vous ne viviez dans une grotte, vous devez savoir que Microsoft est en train de développer un nouveau framework, totalement réécrit, modulaire, open source, bref que du bon en perspective. Le nom de ce nouveau venu : .Net Core.

Dans sa lancée Microsoft propose une nouvelle approche aux librairies portables. En effet les PCL (Portable Class Libraries) sont diablement efficaces, mais la multiplication des framework désormais disponibles apportent quelques complications dans leur relations et dépendances. Cette nouvelle approche se nomme: .Net Standard.

Peut-être que j’aurais le temps d’en parler plus longuement un jour, en attendant Olivier Dahan à déjà écrit des articles intéressants à lire .NET Core ASP.NET Core et Xamarin et .NET Standard arrive !.

Au cas où certains ne le saurait pas (ce dont je doute ;)) j’ai effectué le portage
en .Net de la célèbre librairie Astrodient Swiss Ephemeris qui est écrite en C.

Dés le départ j’ai effectué ce portage comme une librairie PCL (Profile 136) afin d’être utilisable dans la plupart des applications .Net que nous pouvons développer.

Avec .Net Core qui pointe le bout de son nez, j’ai commencé l’étudier, et quoi de plus efficace que de mettre en pratique ce que l’on étudie 😉 Donc en route pour migrer SwissEphNet.

Continuer la lecture de Histoire d’une migration en .NET Core – Partie 1

La fonction BrowserLink ne fonctionne pas avec les applications ASP.NET Core

La fonction BrowserLink ne fonctionne pas avec les applications ASP.NET Core

Si vous êtes un fidèle de Visual Studio pour faire du développement d’application ASP.NET, vous utilisez certainement l’une des fonctionnalités très intéressante « BrowserLink » qui couplée aux « Web Essentials » rend le développement Web extrêmement pratique.

Si maintenant vous vous lancez dans le développement « ASP.NET Core » le futur du développement Web de Microsoft, vous pouvez constater avec regret que cette fonctionnalité n’a pas l’air d’être disponible.

Pas de panique Yanos est là 🙂

Continuer la lecture de La fonction BrowserLink ne fonctionne pas avec les applications ASP.NET Core

VS: Les fichiers « *.dll.refresh » incorrects

VS: Les fichiers « *.dll.refresh » incorrects

Dans Visual Studio lorsqu’on utilise des projets particuliers comme les « Site Web » qui n’ont pas de fichier de projet (comme un .csproj), pour gérer les DLL venant des packages Nuget, un fichier « *.dll.refresh » et créé pour chaque DLL.

Malheureusement on peut rencontrer quelques problèmes avec ces fichiers.

Continuer la lecture de VS: Les fichiers « *.dll.refresh » incorrects

Installation d’extensions IIS sur Windows 10

Installation d’extensions IIS sur Windows 10

Dans un précédent article j’expliquais que l’on rencontrait quelques difficultés pour installer « PHP Manager » sur IIS de Windows 10, en particulier nous rencontrons un problème de version de IIS (10 sous Windows 10) que l’installeur ne connaît pas.

Il s’avère que ce n’est pas uniquement l’extension « PHP Manager » qui se trouve dans cette situation, d’autres extensions comme le module « Réécriture d’URL 2.0 » sont sujet à ce problème car elles n’ont pas été corrigées pour supporter cette version de Windows.

Continuer la lecture de Installation d’extensions IIS sur Windows 10

Firebird et .NET/C#

Firebird et .NET/C#

Pour les besoins d’un petit projet j’ai recherché une solution de base de données légère, trouvant que « SQL Express » était surdimensionné pour le besoin. Et c’est là que m’est revenu un nom du fin fond de mes souvenir de développeur Delphi: Firebird.

Continuer la lecture de Firebird et .NET/C#

ASP.NET MVC: faire un RenderSection() optionnel

ASP.NET MVC: faire un RenderSection() optionnel

Dans le cadre d’un développement j’ai eu besoin de rendre optionnel un appel à un RenderSection() dans mon layout (ma section devant être générée selon certaines conditions).

@if(condition)
{
    @RenderSection("section", required:false)
}

Continuer la lecture de ASP.NET MVC: faire un RenderSection() optionnel

P/Invoke : utiliser une DLL native 32bits ou 64bits en fonction de la plateforme en mode « ANY CPU »

P/Invoke : utiliser une DLL native 32bits ou 64bits en fonction de la plateforme en mode « ANY CPU »

Lorsqu’on utilise P/Invoke avec une DLL native (via l’attribut DllImport), nous devons forcer la compilation de notre application dans la plateforme de la DLL (32 ou 64 bits). Toutefois on peut avoir la DLL dans les deux plateformes (par exemple Lua 5.3) et vouloir compiler notre application en « Any CPU » et que la DLL soit chargée dans sa bonne version. Ce qui n’est pas possible directement avec DllImport().

Continuer la lecture de P/Invoke : utiliser une DLL native 32bits ou 64bits en fonction de la plateforme en mode « ANY CPU »

ASP.NET MVC: jQuery Validation en français

ASP.NET MVC nous fourni des mécanismes de validation des informations saisies dans les formulaires. Nous avons deux types de validation:

  • Validation à la saisie en JavaScript via jQuery.Validation
  • Validation dans le contrôleur lorsqu’il bind les valeurs dans les modèles. Utile lorsque la validation JS n’est pas active ou que le Javascript a été désactivé sur le navigateur du client.

Nous, petits français que nous sommes, utilisons un format de nombre et de date spécifique. Pour la partie MVC il nous suffit de force la culture du thread dans la langue qui nous intéresse pour que la conversion du texte en nombre ou date se passe sans problème.

Cela se corse lorsqu’il faut toucher à la validation jQuery.

Continuer la lecture de ASP.NET MVC: jQuery Validation en français