2015-12-28 1 views
2

Я пытаюсь заставить работу браузера работать, поэтому я могу использовать веб-панель инструментов Essentials в браузере. Я ожидал увидеть код впрыскивается в нижней части исходного кода страницы для ссылки браузера, как в ASP.NET 4 проекта, но это не кажется, что в случае с ASP.NET 5.web essentials ссылка для браузера не работает в asp mvc 6 project

enter image description here

Имеет кому-нибудь еще удалось это сделать? Спасибо в продвижении за любую помощь.

Я использую Visual Studio 2015 обновления 1

Я пытался работать в режиме администратора, и я повернул брандмауэр выключен, но нет ни одного соединения в ссылке браузера в визуальной студии, когда не работает в режиме отладки.

Редактировать

Этот метод определенно называют

app.UseBrowserLink(); 

Этот пакет NuGet определенно refereced Microsoft.VisualStudio.Web.BrowserLink.Loader

Я попытался повторно устанавливать asp.net 5 rc1 и Visual Studio 2015 pro, а также с помощью сообщества visual studio, которое тоже не работает.

Ive попытался переустановить IIS Express 10 и 8, который также не работает.

Это начинает быть настоящей болью. Использование F12 в браузере делает работу, но ее действительно медленной и утомительной.

Если кто-нибудь может предложить предложение что-то попробовать, чтобы эта работа была бы замечательной. Я чувствую, что исчерпал все варианты.

Вот мой project.json:

{ 
    "userSecretsId": "aspnet5-BusiHub.Web-ce0683d8-2598-4feb-99b6-82d6cf4e8028", 
    "version": "1.0.0-*", 
    "compilationOptions": { 
    "emitEntryPoint": true 
    }, 

    "dependencies": { 
    "EntityFramework.Commands": "7.0.0-rc1-final", 
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final", 
    "Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final", 
    "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final", 
    "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final", 
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final", 
    "Microsoft.AspNet.Loader.IIS": "1.0.0-beta7", 
    "Microsoft.AspNet.Loader.IIS.Interop": "1.0.0-beta7", 
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final", 
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final", 
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final", 
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final", 
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final", 
    "Microsoft.AspNet.WebApi": "5.2.3", 
    "Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Logging": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final", 
    "System.Web.Optimization.Less": "1.3.4" 
    }, 

    "commands": { 
    "web": "Microsoft.AspNet.Server.Kestrel", 
    "ef": "EntityFramework.Commands" 
    }, 

    "frameworks": { 
    "dnx451": { 
     "frameworkAssemblies": { } 
    } 
    }, 

    "exclude": [ 
    "wwwroot", 
    "node_modules" 
    ], 

    "publishExclude": [ 
    "**.user", 
    "**.vspscc" 
    ], 

    "scripts": { 
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ] 
    } 
} 

Вот мой startup.cs

public class Startup 
{ 
    public Startup(IHostingEnvironment env) 
    { 
     // Set up configuration sources. 
     var builder = new ConfigurationBuilder() 
      .AddJsonFile("appsettings.json") 
      .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true); 

     if (env.IsDevelopment()) 
     { 
      // For more details on using the user secret store see http://go.microsoft.com/fwlink/?LinkID=532709 
      builder.AddUserSecrets(); 
     } 

     builder.AddEnvironmentVariables(); 
     Configuration = builder.Build(); 
    } 

    public IConfigurationRoot Configuration { get; set; } 

    // This method gets called by the runtime. Use this method to add services to the container. 
    public void ConfigureServices(IServiceCollection services) 
    { 
     // Add framework services. 
     services.AddEntityFramework() 
      .AddSqlServer() 
      .AddDbContext<ApplicationDbContext>(options => 
       options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"])); 

     services.AddIdentity<ApplicationUser, IdentityRole>() 
      .AddEntityFrameworkStores<ApplicationDbContext>() 
      .AddDefaultTokenProviders(); 

     services.AddMvc(); 

     // Add application services. 
     services.AddTransient<IEmailSender, AuthMessageSender>(); 
     services.AddTransient<ISmsSender, AuthMessageSender>(); 

     services.AddTransient<ApplicationDbContextInitializer>(); 
    } 

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 
    public async void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, ApplicationDbContextInitializer dbContextInitializer) 
    { 
     loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
     loggerFactory.AddDebug(); 

     if (env.IsDevelopment()) 
     { 
      // Allow updates to your files in Visual Studio to be shown in the browser. You can use the Refresh 
      // browser link button in the Visual Studio toolbar or Ctrl+Alt+Enter to refresh the browser. 
      app.UseBrowserLink(); 

      app.UseDeveloperExceptionPage(); 
      app.UseDatabaseErrorPage(); 
     } 
     else 
     { 
      app.UseExceptionHandler("/Home/Error"); 

      // For more details on creating database during deployment see http://go.microsoft.com/fwlink/?LinkID=615859 
      try 
      { 
       using (var serviceScope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>() 
        .CreateScope()) 
       { 
        serviceScope.ServiceProvider.GetService<ApplicationDbContext>() 
         .Database.Migrate(); 
       } 
      } 
      catch { } 
     } 

     app.UseIISPlatformHandler(options => options.AuthenticationDescriptions.Clear()); 

     app.UseStaticFiles(); 

     app.UseIdentity(); 

     // To configure external authentication please see http://go.microsoft.com/fwlink/?LinkID=532715 

     app.UseMvc(routes => 
     { 
      routes.MapRoute(
       name: "default", 
       template: "{controller=Home}/{action=Index}/{id?}"); 
     }); 

     // Seed the database with sample data - admin roles, admin users etc 
     await dbContextInitializer.InitializeDataAsync(); 
    } 

    // Entry point for the application. 
    public static void Main(string[] args) => WebApplication.Run<Startup>(args); 
} 

Update

Я установил LiveReload плагин для хрома и настроено LiveReload в gulp, как предложено в комментарии ниже вендеттамитом. Браузер Chrome теперь обновляется, когда я изменяю свои файлы CSS/Less. Мне все еще не хватает дизайна веб-сайтов и проверять инструменты из-за неработающей ссылки на браузер, но я надеюсь, что это изменится в будущих обновлениях для платформы ASP.NET и/или визуальной студии.

мой сценарий для глотка, если кто-нибудь натыкается этой же вопрос:

/// <binding BeforeBuild='min, less' Clean='clean' /> 
"use strict"; 

var gulp = require("gulp"), 
    rimraf = require("rimraf"), 
    concat = require("gulp-concat"), 
    cssmin = require("gulp-cssmin"), 
    uglify = require("gulp-uglify"), 
    less = require("gulp-less"), 
    livereload = require("gulp-livereload"); 

var project = require('./project.json'); 

var paths = { 
    webroot: "./wwwroot/" 
}; 

paths.js = paths.webroot + "js/**/*.js"; 
paths.minJs = paths.webroot + "js/**/*.min.js"; 
paths.css = paths.webroot + "css/**/*.css"; 
paths.minCss = paths.webroot + "css/**/*.min.css"; 
paths.concatJsDest = paths.webroot + "js/site.min.js"; 
paths.concatCssDest = paths.webroot + "css/site.min.css"; 

gulp.task("clean:js", function (cb) { 
    rimraf(paths.webroot + "/js/site.min.js", cb); 
    rimraf(paths.webroot + "/js/site.js", cb); 
}); 

gulp.task("clean:css", function (cb) { 
    rimraf(paths.webroot + "/css/site.min.css", cb); 
    rimraf(paths.webroot + "/css/site.css", cb); 
}); 

gulp.task("clean", ["clean:js", "clean:css"]); 

gulp.task("min:js", function() { 
    return gulp.src([paths.js, "!" + paths.minJs], { base: "." }) 
     .pipe(concat(paths.concatJsDest)) 
     .pipe(uglify()) 
     .pipe(gulp.dest(".")); 
}); 

gulp.task("min:css", function() { 
    return gulp.src([paths.css, "!" + paths.minCss]) 
     .pipe(concat(paths.concatCssDest)) 
     .pipe(cssmin()) 
     .pipe(gulp.dest(".")); 
}); 

gulp.task("min", ["min:js", "min:css"]); 

gulp.task("less", ["clean:css"], function() { 
    return gulp.src('Styles/*.less') 
     .pipe(concat('site.less')) 
     .pipe(less()) 
     .pipe(gulp.dest(paths.webroot + '/css')) 
     .pipe(livereload()); 
}); 

gulp.task("scripts", ["clean:js"], function() { 
    return gulp.src('Scripts/*.js') 
     .pipe(concat('site.js')) 
     .pipe(gulp.dest(paths.webroot + '/js')); 
}); 

gulp.task("all", ["less", "scripts"]); 

gulp.task('watch', function() { 
    livereload.listen(); 
    gulp.watch('styles/*less', ['less']); 
}); 
+0

Я не уверен, что Live reload поставляется с версией RC. Была проблема [https://github.com/aspnet/Tooling/issues/213), адресованная аналогичной проблеме с ссылкой браузера.Среднее время, когда вы можете попробовать [this] (https://github.com/vohof/gulp-livereload) – vendettamit

+0

Вы также можете попробовать данное решение [здесь] (http://stackoverflow.com/questions/33034169/live-reload -with-asp-net-5), но выглядит как ручное обновление. – vendettamit

+1

Спасибо, я определенно постараюсь получить эту настройку. Это будет намного быстрее, чем использование окна F12. Причина, по которой мне нравится использование веб-основ, - это дизайн и проверка на панели инструментов, которая требует подключения к ссылке на браузер. Почему-то я не могу заставить это работать? –

ответ

1

Я не уверен, если Живой перезарядка поставляется с RC-версии. Возникла проблема с аналогичной проблемой с ссылкой на браузер. Среднее время, когда вы можете попробовать this chrome plugin для живой перезагрузки.

Вы также можете попробовать данное решение. here, но похоже, что это обновление вручную.

 Смежные вопросы

  • Нет связанных вопросов^_^