Visual Studio Online

Création d'un compte Visual Studio Online

Lors de la création de votre compte d'utilisateur Visual Studio Online, on vous demandera de créer une url de la forme : xxx.visualstudio.com pour accéder à votre compte.

Création du compte Visual Studio Online effectué
Création du compte Visual Studio Online effectué : https://braby.visualstudio.com/

Une fois la création du compte Visual Studio Online effectuée : https://xxx.visualstudio.com/ il faut choisir un Gestionnaire de Version.

Git est un gestionnaire de version décentralisé créé par Linus Torvalds le créateur de Linux, il peut être utilisé avec Visual Studio.

Visual Studio Online, de toutes les façons nous n'avons plus le choix, il faut créer un compte outlook.com pour avoir accès à Visual Studio, autant profiter des avantages gratuits de VS Online ...

l'url de votre Visual Studio Online vous servira de Team Foundation Server dans Visual Studio.

Azure DevOps

Visual Studio Online est devenu VSTS (Visual Studio Team foundation Server) qui lui même est devenu Azure DevOps.

Visual Studio Online, Team Foundation Server, Azure

Avec Visual Studio 2013, on va pouvoir découvrir un nouveau mode de développement d'applications, un mode de développement directement dans le cloud (la plate forme Azure), un mode de développement réellement collaboratif, en équipe.

Tout commence à l'adresse suivante avec Visual Studio Online :

www.visualstudio.com


Visual Studio Online pour le grand public
Visual Studio Online pour le grand public
Puis vous cliquez sur le bouton "Version d'évaluation gratuite".
Si vous n'avez pas de compte vous devrez en créer un :
Visual Studio Online - Se  connecter
Visual Studio Online - Se  connecter

Une fois votre compte Microsoft créé, vous pouvez créer un compte Visual Studio Online :


Visual Studio Online - Créer un compte
Visual Studio Online - Créer un compte
Pour l'instant la suite se trouve en Anglais page suivante sur Channel 9, nous irons plus loin la prochaine fois.

http://channel9.msdn.com/Events/Build/2014/2-575

Have fun!

ASP.NET MVC 4 CRUD With Entiry Framework 5.0

Comment faire un CRUD (Create Read Update Delete) avec ASP.NET MVC 4 et Entity Framework EF 5.x sous Visual Studio 2010 ?

Depuis l'avènement des NuGet packages et des autre tools qui entourent Visual Studio, sans lesquels il n'est pas possible de faire quoi que se soit, je trouve que le développement ASP.NET tient de la magie. Comme je n'ai pas froid au yeux et que je suis un peu magicien moi même, à mes heures perdues, je me lance.

J'ai trouvé ceci : ASP.NET MVC 4 – CRUD operations Entity Framework (8 steps to create your site).

Mais moi, je voudrais utiliser :

Visual Studio 2010, avec ASP.NET MVC 4, ADO Entity Framework 5.x et NuGet pour faire un CRUD (create/read/update/delete) de données structurées dans une BD SqlServer.

Est-ce que c'est possible ?

Installation de la plateforme de développement

Tout passe par la gestion des extensions et la configuration des Packages NuGet :

Gestion des Extensions
Il me faut installer deux choses :

Extensions installées par NuGet
NuGet Package Management et EF 5.x DBContext Generator for C# sont les deux extensions nécessaires à la réalisation de mon CRUD.

EF 5.x DBContext Generator for C# va me permettre de créer le modèle de données que j'utiliserai dans mon application ASP.NET MVC4.

Création de ma nouvelle Application MVC4

Après avoir installé le package MVC4 pour Visual Studio que j'ai téléchargé Ici.
Il ne me reste plus qu'à créer mon premier projet : 

Création d'une application ASP.NET MVC 4 avec Visual Studio
La structure du projet est la suivante :
Structure d'un projet ASP.NET MVC4
C'est déjà un projet assez conséquent avec déjà quelques formulaires concernant la création et la gestion des contacts et des utilisateurs de l'application ainsi que leur authentification.

Création du modèle Entity et de la base de donnée SqlServer

Il manque cruellement une base de données que je vais créer avec Entity Framework :
Création du modèle Entity Framework
Dans l'éditeur de modèle, je créé trois Entity (trois tables ou trois objets c'est la même chose) de la façon suivante :
Mon Model1.edmx
Je créé ma base de données SqlServer :

Création de la base SqlServer DataBase1.mdf
Puis je génère le script de création de la base dans l'éditeur de modèle Entity :

Génération du script de création de la base à partir du modèle
Jusque là tout va bien.

Installation de MvcScaffolding package Nuget

Je dois utiliser mvcscaffolding pour créer les objets (contrôlers) que je pourrai utiliser dans mon application ASP.NET MVC c'est là que je trouve que les choses sont un peu magiques !

Il faut taper la commande :

PM> install-package mvcscaffolding
dans la console de management des packets qui se trouvent ici :

Afficher la console PM (Package Management)

Exécution de la commande :

PM> install-package mvcscaffolding
Tentative de résolution de la dépendance « T4Scaffolding ».
Tentative de résolution de la dépendance « T4Scaffolding.Core ».
Tentative de résolution de la dépendance « EntityFramework ».
Installation de « T4Scaffolding.Core 1.0.0 » terminée.
Vous téléchargez EntityFramework à partir de Microsoft. Le contrat de licence est disponible à l’emplacement http://go.microsoft.com/fwlink/?LinkID=320539. Vérifiez si le package contient des dépendances susceptibles de faire l’objet de contrats de licence supplémentaires. Votre utilisation du package et des dépendances confirment votre acceptation de leurs contrats de licence. Si vous n’acceptez pas les contrats de licence, supprimez les composants correspondants de votre ordinateur.
Installation de « EntityFramework 6.1.0 » terminée.
Installation de « T4Scaffolding 1.0.8 » terminée.
Installation de « MvcScaffolding 1.0.9 » terminée.
Ajout réussi de « T4Scaffolding.Core 1.0.0 » à MvcApplication2.
« EntityFramework 5.0.0 » a été supprimé avec succès de MvcApplication2.
Ajout réussi de « EntityFramework 6.1.0 » à MvcApplication2.

Type 'get-help EntityFramework' to see all available Entity Framework commands.
Ajout réussi de « T4Scaffolding 1.0.8 » à MvcApplication2.
Ajout réussi de « MvcScaffolding 1.0.9 » à MvcApplication2.
Désinstallation de « EntityFramework 5.0.0 » terminée.

Utilisation du package MvcScaffolding

Mon package étant installé, je peux maintenant l'utiliser :
J'ai créé trois Entity : Compagny, Region, Departement, je vais donc lancer trois commande :

PM> scaffold controller CompagnyController –force –DBContextType “ModelContainer”
Scaffolding CompagnyController...
Added database context 'Models\ModelContainer.cs'
Added 'Compagny' to database context 'MvcApplication2.Models.ModelContainer'
Get-PrimaryKey : Error HRESULT E_FAIL has been returned from a call to a COM component.
At E:\Templates\MvcApplication2\packages\MvcScaffolding.1.0.9\tools\Controller\MvcScaffolding.Controller.ps1:71 char:29
+ $primaryKey = Get-PrimaryKey <<<<  $foundModelType.FullName -Project $Project -ErrorIfNotFound
    + CategoryInfo          : NotSpecified: (:) [Get-PrimaryKey], COMException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.GetPrimaryKeyCmdlet

Error du package MvcScaffolding

Et là c'est la drame :

Error du package MvcScaffolding

Solution du package MvcScaffolding

Comment faire pour se sortir de ce très mauvais pas ! Voici ce que j'ai fais, c'est issu une longue longue expérience des outils et des problèmes Microsoft.

Créer le modèle EDMX au bon endroit

Je recréé le modèle .edmx dans le répertoire modèle afin que les objets générés aient le "bon namespace" car je pense que MvcScaffolding est typiquement le genre d'outil à se planter sinon ... 

Le Modèle Entity dans le répertoire Models ...
Je supprime l'ancien modèle et je créé le nouveau à partir de la BD ça fonctionne.

Modifier la génération pour obtenir des DbContext

En suite, on voit que Scaffold souhaite des objets de type DbContext c'est plus moderne. Je vais donc bouton-droit dans l'éditeur de modèle Entity pour faire :

Modèle Entity ajout d'une génération spécifique
Et je choisi :

Choix du EF DbContext Generator
Dans le fichier :
\\Templates\MvcApplication2\MvcApplication2\Models\Model1.Context.cs

public partial class DataBase1Entities : DbContext

DataDataBase1Entities ne dérive plus de ObjectContext mais de DbContext

Relancer la commande Scaffold

Comme j'ai créé la base à partir du modèle Entity mon objet Compagny s'appelle CompagnySet je lance donc la commande :
PM> scaffold controller CompagnySetController –force –DBContextType “ModelContainer”
Scaffolding CompagnySetController...
Added database context 'Models\ModelContainer.cs'
Added 'CompagnySet' to database context 'MvcApplication2.Models.ModelContainer'
Added controller Controllers\CompagnySetController.cs
Added Create view at 'Views\CompagnySet\Create.cshtml'
Added Edit view at 'Views\CompagnySet\Edit.cshtml'
Added Delete view at 'Views\CompagnySet\Delete.cshtml'
Added Details view at 'Views\CompagnySet\Details.cshtml'
Added Index view at 'Views\CompagnySet\Index.cshtml'
Added _CreateOrEdit view at 'Views\CompagnySet\_CreateOrEdit.cshtml'

Cette fois ça fonctionne et mes objets ont été correctement créés :

CRUD complet sur l'objet Compagny Créé par Entity et Scaffold
A l'exécution, j'obtiens bien la possibilité de créer affin en liste mes Compagny :

Créer une nouvelle Compagny
Formulaire de création
Liste des Compagny
Et ne trouvez-vous pas cela magique ?

Encore quelques astuces en Silverlight 5.1.30140

Outil de configuration de Silverlight 5.1

J'ai trouvé un .exe dans le répertoire :
C:\Program Files\Microsoft Silverlight\5.1.30214.0\Silverlight.Configuration.exe
En double cliquant dessus :


Outil de configuration de Silverlight
Je peux configurer un certain nombre de petites chose comme : "Choisir les périphériques de capture de Silverlight" :

Configuration des périphériques de capture de Silverlight
 Et sur le dernier onglet :

Silverlight - Stockage d'application 

Curieux cet espace de stockage qui pointe chez Microsoft.

Qu'est ce que le sllauncher.exe ?

Toutes les explications sont Ici.

Mais c'est en anglais donc pour résumer, il s'agit d'un installeur d'application Silverlight ou .xap sur votre poste de travail ainsi vous pourrez vous passer du browser internet. Cette fonctionnalité est accessible depuis Silverlight 4.

SLLauncher.exe est donc un installeur d'application Silverlight que l'on dit "Out-of browser" ainsi l'application n'a plus besoin du Navigateur Internet pour fonctionner.


C'est quoi une Application ASP.NET MVC ?

Vous souhaitez effectuer vos premiers pas en créant votre première application ASP.NET MVC avec Visual Studio ? C'est le bon article. Une fois les outils MVC installés, utiliser l'admin tool pour configurer un utilisateur Admin et la base de données ASPNETDB.MDF est crée automatiquement, on peut alors commencer l'exploration de modèle et de l'application crée par ce modèle.

Un Template d'Application MVC 4 possède la structure suivante :

ASP.NET MVC 4 : Template
Deux projets, l'Application Web et un projet de Test :

ASP.NET MVC 4 : Template Test
L'Application Web ASP.NET MVC est constituée de Models, Views et de Controllers.

View

Navigation depuis la vue : 

@Html.ActionLink("Home", "Index", "Home")

System.Web.Mvc.Html.LinkExtensions
        // Summary:
        //     Returns an anchor element (a element) that contains the virtual path of the
        //     specified action.
        // Parameters:
        //   htmlHelper:
        //     The HTML helper instance that this method extends.
        //   linkText:
        //     The inner text of the anchor element.
        //   actionName:
        //     The name of the action.
        //   controllerName:
        //     The name of the controller.
        // Returns:
        //     An anchor element (a element).
        //
        // Exceptions:
        //   System.ArgumentException:
        //     The linkText parameter is null or empty.
        public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName);

Controllers

namespace MvcApplication1.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
            return View();
        }

public abstract class Controller : ControllerBase, IActionFilter, IAuthorizationFilter, IDisposable, IExceptionFilter, IResultFilter, IAsyncController, IController, IAsyncManagerContainer
{
   ...

namespace System.Web.Mvc
{
    public abstract class ActionResult

ViewBag : Objet du controleur de base : dynamic data dictionnary
namespace System.Web.Mvc
{
     public abstract class ControllerBase : IController
    {
         public dynamic ViewBag { get; }

To Be Continued

Migration d'application MVC 3 en MVC 4

Avec Visual Studio 2010 SP1 Rel, j'ai installé MVC 3 puis MVC 4 mais Visual Studio ne me propose pas de créer des application MVC 3. Qu'à cela ne tienne, je me propose d'étudier la migration d'application MVC 3 vers MVC 4.

Je viens de télécharger une application du CodePlex :
http://advsampleapp.codeplex.com/
Sample app for Adventureworks database

Et il se trouve qu'à la page suivante :
http://www.mztools.com/Articles/2008/MZ2008017.aspx
On me dit que c'est une application MVC 3.

Lorsque je charge cette solution dans mon Visual Studio, j'obtiens l'erreur suivante :

AdventureWorks.Web.csproj is not supported by this installation
C'est assez curieux car je pensais que VS me proposerait de traduire cette application de MVC 3 vers MVC 4 mais il n'en est rien. Puis-je le faire à la main ?

Je regarde la ligne d'une application MVC 4 standard :
<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

Et je copie cette ligne directement dans le fichier :
\\advsampleapp-15464\Adventureworks\Adventureworks.Web\Adventureworks.Web.csproj

Que se passe t-il ?

Adventureworks.Web.csproj - Reload Project
J'obtiens un résultat encourageant :

Adventureworks.Web.csproj - Install de ASP.NET Web pages with Razor syntax 1.0
Le Web Platform Installer me propose d'installer Razor 1.0 ... Ce que je ne fais pas. Je reload simplement mon projet mais au moment de builder l'application, j'obtiens une "Erreur non spécifiée". Par expérience je me doute qu'il s'agit des "Services Références". Au moment de faire un Update des Services Référence :



J'obtiens l'erreur suivante :

Service Reference is invalid
Mais une fois mon service reference "PurchasingService" reconstruit l'application ne compile toujours pas. Je décide d'installer ce qui était préconiser le :

Web Platform Installer : Visual Studio 2010 SP1 Tool pour ASP.NET WebPages 1.0
En cliquant sur "Installer" :

Version de NuGet installés incompatible avec ASP.NET MVC 3 Tools Update
Consultez le lien :

En consultant ce lien, on tombe sur un Getting Started with MVC. On y verra également un getting started with MVC 5. Ce n'est pas très cool !

Conclusion MVC 3 vers MVC 4

La migration d'application MVC 3 en MVC 4 ce n'est pas gagné !

Pour aller plus loin :
Donc la version de Razor utilisée pour MVC 3 est 1.0 tandis que MVC 4 utilise Razor 2.0

Références du projet AdventureWorks Sample
DLLs qui utilisent ASP.NET Web Pages\v2.0 :
System.Web.Helpers.dll
System.Web.WebPages.dll

Et si on les fait pointer ces références vers la version v1.0 que se passe t-il ?

L'application Build mais à l'exécution en mode DEBUG :

Windows authentication is not enabled
Mais cela c'est du classique, il s'agit de la gestion des droits d'accès au répertoire virtuel, aux BD ASPNETDB et AdventureWorks, de chaines de connexion dans le Web.config ...

Outil de traduction automatique MVC3 vers MVC4

Et sinon vous avez un outils NuGet qui traduit automatiquement une solution MVC3 en MVC4 :

Auto Upgrade MVC 3 To MVC 4 1.0.1

Mais il était important de découvrir ce que cet outil doit faire pour traduire une solution.



ASP.NET MVC 3 - MVC 4

Dans un post précédent ASP.NET MVC, j'avais regarder de loin l'installation du framework asp.net mvc, le développement d'application avec razor ou webform. Je vais faire un refocusing sur le développement ASP.NET MVC et je m'arrêterai à MVC 3 ou MVC 4 ou les deux, pour simplifier ;)

ASP.NET MVC 3 Installation

Une fois Visual Studio installé et une version de SQL Server, l'installation du framework MVC 3 commence ici : ASP.NET MVC 3
ASP.NET MVC 3 Tools Update - Installation en Anglais
Curieusement si vous choisissez la langue Française le titre change pour l'appellation : ASP.NET MVC 3 RTM Tools Update, et je n'ai pas trop d'explications quant aux "RTM" ...

Encore une chose peu orthodoxe, si vous cliquez sur le bouton Download vous obtenez un choix :

ASP.NET MV 3 Tools Update Choices
 Ce qui donne en français :

ASP.NET MVC 3 Tools Update Choices in French
C'est un peu déroutant, on télécharge donc les trois fichier puis on va cliquer sur AspNetMVC3ToolsUpdateSetup.exe en premier, puis sur AspNetMVC3ToolsUpdateVS11Setup.exe.

Microsoft ASP.NET MVC 3 - 1
Poursuite de l'installation :

Microsoft ASP.NET MVC 3 - 2
Cette installation crée le répertoire : C:\Program Files\Microsoft ASP.NET et l’arborescence de fichiers suivante :

ASP.NET MVC 3 - Fichiers d'installation
C'est encore bien déroutant non ? On parlais de MVC 3 et l'on se retrouve avec un répertoire nommé MVC 4 pourtant MVC 4 existe bien séparément sous l'appellation ASP.NET MVC 4 pour Visual Studio 2010 SP1 et Visual Web Developer 2010 SP1.

En comparant les System Requirements des deux versions :

MVC 3

Supported Operating System
Windows 7, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP
.NET 4, ASP.NET 4, Visual Studio 2010 or Visual Web Developer 2010 are required to use certain parts of this feature.

MVC 4

Système d'exploitation pris en charge
Windows 7; Windows Server 2003 R2 (32-Bit x86); Windows Server 2003 R2 x64 editions; Windows Server 2003 Service Pack 2; Windows Server 2008; Windows Server 2008 R2; Windows Vista Service Pack 2; Windows XP Service Pack 3
PowerShell 2.0, .NET 4, ASP.NET 4 et Visual Studio 2010 SP1 ou Visual Web Developer 2010 SP1 sont requis pour pouvoir utiliser cette fonctionnalité.

On dirait que MVC 4 est une amélioration de MVC 3 pour VS 2010 SP1 ... Et ce n'est pas logique comme d'hab avec microsoft on pourrait nommer MVC 4 : MVC 3 SP1 ou SP3 ...

ASP.NET MVC 4 Installation

Une fois MVC 3 installé et bien continuons Ici.

ASP.NET MVC 4 Download
En suite après avoir pris soin de "débloquer" AspNetMVC4Setup.exe :

ASP.NET MVC 4 Install
ASP.NET MVC 4 Install - Successful





Windows 8.1 et Virtual PC sous Windows XP

Avec l'arrivée de Windows 8 et de Windows 8.1 que devient Virtual PC ? Est-il possible d'installer une machine virtuelle avec Windows 8.1 ? Je ne trouve pas d'informations réellement probantes sur ce sujet.

Quelques lectures Ici ou  mais on y parle que d'Oracle Virtual Box.

Alors on va faire l'essai. J'ai installé Virtual PC :

Virtual PC for Windows XP SP3
Je télécharge une image ISO de Windows 8.1 :

Téléchargement de Windows 8.1 Entreprise Preview
Vous devez posséder un compte Windows Live afin de répondre à quelques questions avant de pouvoir télécharger le fichier : 9431.0.WINMAIN_BLUEMP.130615-1214_X86FRE_ENTERPRISE_FR-FR_VL-IMP_CENA_X86FREV_FR-FR_DV5.ISO

Grâce à Virtual PC, je créé un nouvel ordinateur virtuel et je vais lui faire avaler cette image iso comme disque de boot. Je démarre ce nouvel ordinateur virtuel :

Virtual PC Ordinateur Virtuel pour Windows 8.1
Dans le menu "CD" je fais capturer une image ISO et je tape sur "Return".
Ce nouvel ordinateur virtuel est capable de booter sur l'image iso j'obtiens un joli poisson qui fait des bulles :

Windows 8.1, le joli poisson qui fait des bulles dans Virtual PC
Mais au bout de quelques secondes :

Virtual PC : Une erreur interne s'est produite sur l'ordinateur virtuel. L'ordinateur virtuel va se réinitialiser

J'ai beau cliquer sur le bouton "Réinitialiser" rien n'y fait la même erreur se produit à chaque fois. J'aurais quand même eu le plaisir de voir le "joli poisson qui fait des bulles".

Conclusion

Virtual PC 2007 installé dans sur une machine hôte Windows XP ne peut pas installer d'ordinateur virtuel avec une image iso de Windows 8.1. Entreprise Preview. Cette image iso ne semble pas faite pour lui, je vais essayer avec Oracle Virtual Box mais la même erreur se produit.

Error Code : 0x0000005D
Pour résoudre ce problème, suivez les directives du fabricant pour permettre à NX ("bit no execute"), ou le XD équivalent ("Execute Disabled"), la fonction dans les réglages du BIOS.

La suite des explications Ici et des explications détaillées .
Error Code: 0x0000005D
Parameters:
0x030F0204
0x756E6547
0x49656E69
0x6C65746E

Mon processeur est incompatible avec Windows 8 !

Vous souhaitez en savoir plus sur les caractéristiques de votre CPU et le mode de compatibilité avec Windows 8, c'est Ici.

Have fun! It's only software.

Ajout en 2020

C'est ça qui est incroyable avec Internet c'est que l'on peut relire d'ancienne chose et découvrir à quel point elles sont encore valables aujourd'hui les incompatibilités entre les différentes version de Windows c'est une chose mais aujourd'hui c'est Oracle Virtual Machine qui me pose un gros problème !

En effet je suis avec une configuration stable depuis quelques années je n'aime pas me jeter sur le dernier OS qui sort sauf pour essayer avant d'y passer trouver les astuces qui permettent d'aller plus vite d'être plus à l'aise de mieux bosser.

Mais là je souhaite relancer une machine virtuelle qui doit avoir trois quatre ans et qui tournait très bien avec Oracle Virtual Machine mais au moment de l'exécuter :

Beug !

C'est scandaleux, vous imaginez mon désarrois. J'utilise exprès Oracle Virtual Machine pour m'affranchir des problèmes de compatibilité et OVM est  devenu incompatible avec mes machines, je suis ... j'ai pas de mot je ne pensais pas qu'ils oseraient.

C'est à ça qu'on reconnait les Cons, ils osent tout !

WCF Services - WCF Test Client - Problème

Je cherche à créer une application console qui hébergerait un WCF Service, parce que pour le développement il serait plus facile d'héberger mon service ainsi que de devoir à l'installer ailleurs.

Contexte du problème 

Je pars de l'exemple de Jason De Olivera :
http://www.jasondeoliveira.com/2009/07/tutorial-adonet-data-services-part-3.html
qui me semble parfait pour ce que je souhaite faire : une WCF Application Service et deux Consoles une pour le Client et une pour le Host :

WCF Service hosté dans une application console - Projet Visual Studio 2010
Je lance l'exécution du client :

WCF Service hosté dans un application console - Exécution
J'exécute la commande "EF" pour lire des données à partir du Modèle Entity Framework :

WCF Service lecture des données à partir du Modèle Entity d'Entity Framework
Mon service est en cours d'exécution, grâce aux ligne de code c# suivantes :
\030 - Tutorial ADO.NET Data Services\ADODataServiceLearning_Part4\Host\Program.cs
const string sURI = "http://localhost:37052/ExampleDataService.svc";
host = new DataServiceHost(typeof(ExampleDataService), new Uri[] { baseAddress });
host.Open();

Je pense légitimement que je vais pouvoir utiliser WCF Test Service pour tester le service, je lance donc un "Add Service..." :

Utilisation de WCF Test Service pour tester mon service hosté dans la console
Mais j'obtiens l'erreur suivante :

Erreur à la découverte de mon WCF Service hosté
En gros elle me dit :
Error: Cannot obtain Metadata from http://localhost:37052/ExampleDataService.svc
If this is a Windows (R) Communication Foundation service to which you have access, 
please check that you have enabled metadata publishing at the specified address.  
For help enabling metadata publishing, please refer to the MSDN documentation at 
http://go.microsoft.com/fwlink/?LinkId=65455.
WS-Metadata Exchange Error    URI: http://localhost:37052/ExampleDataService.svc    
Metadata contains a reference that cannot be resolved: 'http://localhost:37052/ExampleDataService.svc'.    
The remote server returned an unexpected response: (405) Method Not Allowed.    
The remote server returned an error: (405) Method Not Allowed.
HTTP GET Error    URI: http://localhost:37052/ExampleDataService.svc    
The document at the url http://localhost:37052/ExampleDataService.svc/ 
was not recognized as a known document type.
The error message from each known type may help you fix the problem:
- Report from 'XML Schema' is 'The root element of a W3C XML Schema should be <schema> 
  and its namespace should be 'http://www.w3.org/2001/XMLSchema'.'.
- Report from 'DISCO Document' is 'Discovery document at the URL 
  http://localhost:37052/ExampleDataService.svc/ could not be found.'.  
- The document format is not recognized.
- Report from 'WSDL Document' is 'There is an error in XML document (2, 2).'.  
- <service xmlns='http://www.w3.org/2007/app'> was not expected.

Solution au problème de WCF Test Client

Il faut utiliser l'outil Service Configuration Editor pour configurer le WCF Service : ExampleDataService.svc et créer le contenu des fichiers .config manquant dans la solution. Cette configuration des WCF Services doit être effectuée dans le ficher App.config de la Console qui hoste le service.