Lien de navigateur avec ASP.NET Core v1.0 dans Visual Studio 2015 Update 3

J’utilise Visual Studio 2015 Update 3 et souhaite utiliser la fonctionnalité de lien de navigateur avec mon projet d’application Web ASP.NET Core v1.0 … mais je ne parviens pas à faire fonctionner Lien de navigateur.

  1. Browser Link est-il pris en charge pour les projets ASP.NET Core v1.0?

Je ne trouve pas grand chose en ce qui concerne l’utilisation de Browser Link avec ASP.NET Core.

Mon projet se construit correctement, mais le tableau de bord des liens de navigateur affiche toujours le message “Aucune connexion actuelle” lors de l’exécution des deux avec ou sans débogage.

Dans mon projet.json, j’importe la dépendance de lien de navigateur;

{ "dependencies": { "Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final", "Microsoft.AspNetCore.Diagnostics": "1.0.0", "Microsoft.AspNetCore.Mvc": "1.0.0", "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final", "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", "Microsoft.AspNetCore.StaticFiles": "1.0.0", "Microsoft.EntityFrameworkCore": "1.0.0", "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0", "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", "Microsoft.Extensions.Configuration.Json": "1.0.0", "Microsoft.Extensions.Logging": "1.0.0", "Microsoft.Extensions.Logging.Console": "1.0.0", "Microsoft.Extensions.Logging.Debug": "1.0.0", "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", "Microsoft.NETCore.App": { "version": "1.0.0", "type": "platform" }, "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0" }, "tools": { "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" }, "frameworks": { "netcoreapp1.0": { "imports": [ "dotnet5.6", "portable-net45+win8" ] } }, "buildOptions": { "emitEntryPoint": true, "preserveCompilationContext": true }, "runtimeOptions": { "configProperties": { "System.GC.Server": true } }, "publishOptions": { "include": [ "wwwroot", "web.config", "Views", "appsettings.json" ] }, "scripts": { "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ], "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] } } 

Mon web.config;

     
  1. Pour un projet ASP.NET Core v1.0, que dois-je encore faire pour que Browser Link fonctionne?

Mise à jour 1

J’ai ajouté ce qui suit à l’élément racine de mon web.config;

       

L’option “Actualiser les navigateurs liés” est toujours désactivée pour moi.

entrez la description de l'image ici

Cependant, vous ne pouvez toujours pas lancer le lien avec le navigateur et voir la connexion dans le tableau de bord du lien du navigateur.

J’utilise VS2015 Update 3 aussi.

Browserlink est également pris en charge pour les projets ASP.NET Core.

Ajoutez le code suivant à votre méthode Startup.cs -> Configure:

  app.UseBrowserLink(); 

Mais si vous utilisez -> .NET Core 1.0 – VS 2015 Tooling RC, alors ceci pourrait être votre problème.

Définissez appSetting «vs: EnableBrowserLink» sur « true »

entrez la description de l'image ici

Définissez le débogage de la compilation sur true dans votre fichier web.config. Le lien de navigation sera désactivé lorsque le débogage est faux!

    

Essayez de cliquer

“Navigateurs liés actualisés”,

entrez la description de l'image ici

dans mon cas, aucune connexion n’a été affichée au départ, mais après rafraîchissement Ensuite, lorsque vous passez la souris sur l’icône d’actualisation, une info-bulle indiquant les navigateurs connectés s’affiche, comme par exemple:

entrez la description de l'image ici

Dans mon projet.json j’ai le paramètre suivant:

  "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0", 

et Browserlink doit être activé:

entrez la description de l'image ici

Vous pouvez voir s’il est chargé dans l’onglet Réseau des navigateurs: entrez la description de l'image ici

J’avais toujours d’anciennes versions du kernel .net installées ainsi que du SDK. J’ai supprimé ces éléments (du Panneau de configuration) et réinstallé Tooling Preview 2 à partir de l’ adresse : https://www.microsoft.com/net/core#windows

Et hop, BrowserLink commence à fonctionner.

Je rencontrais le même problème lors de la création d’une application .NET Core MVC à partir du modèle vide, mais j’ai compris que le modèle “Application Web” fonctionnait pour moi tout de suite.

Boîte de dialogue Modèles ASP.NET Core: choisissez vide, API Web ou application Web

J’ai donc vérifié tous les fichiers de configuration JSON pour voir quelles étaient les différences.

Projet vide Projet d'application Web: les fichiers de configuration supplémentaires sont appsettings.json et bundleconfig.json

En partant du bas, web.config entre les deux est en fait identique, vous n’avez donc rien à append.

Dans le projet Web App, Startup.cs contient le code suivant dans la méthode Configure ():

 if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseBrowserLink(); } 

Dans project.json, on vous a déjà dit de mettre ce qui suit dans la section des dépendances:

 "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0" 

bundleconfig.json indique simplement à l’application comment regrouper et minimiser JavaScript afin que cela n’affecte pas BrowserLink.

Maintenant, le prochain je ne comprends pas. appsettings.json n’existe pas dans le projet vide et il vous a été demandé de placer une balise appsettings dans votre web.config. Puisque MS essaie de s’éloigner de la configuration web, j’ai pensé que quelque chose à propos de BrowserLink serait trouvé dans appsettings.json. Nan:

 } "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Debug", "System": "Information", "Microsoft": "Information" } } } 

Ok, peu importe, à ce stade je vais essayer n’importe quoi. Copiez le texte, redémarrez Visual Studio, exécutez mon projet ( assurez-vous de naviguer vers une page qui n’est pas uniquement du HTML statique ) et …

Le lien de navigation fonctionne!

Chaque fois que vous accédez à une page HTML statique, vous perdez le lien de navigateur, mais à part cela, cela fonctionne plutôt bien. Mon conseil: maintenant que vous savez à quel point vous avez mal à la tête, ne recommencez jamais à partir d’un projet vide.