Ссылка на браузер с ASP.NET Core v1.0 в Visual Studio 2015 Update 3

Я использую Visual Studio 2015 Update 3 и хочу использовать функцию Browser Link с моим проектом ASP.NET Core v1.0 WebApp... но я не могу заставить Browser Link работать.

  • Поддерживается ли поддержка браузера для проектов ASP.NET Core v1.0?

Я не могу найти много там, что касается использования Browser Link с ядром ASP.NET.

Мой проект работает нормально, но панель управления Browser Link всегда отображается как "Нет текущих подключений" при запуске как с отладкой, так и без нее.

В моем проекте .json я импортирую зависимость зависимости от браузера;

{
  "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%" ]
  }
}

Мой web.config;

<handlers>
  <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    <add name="Browser Link for HTML" path="*.html" verb="*"
         type="System.Web.StaticFileHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
         resourceType="File" preCondition="integratedMode" />
</handlers>
  1. Для проекта ASP.NET Core v1.0, что еще мне нужно сделать, чтобы заставить работать с браузером?

Обновление 1

Я добавил в корневой элемент моего web.config следующее:

<appSettings>
  <add key="vs:EnableBrowserLink" value="true"/>
</appSettings>
<system.web>
  <compilation debug="true"></compilation>
</system.web>

Опция "Обновить связанные браузеры" по-прежнему отключена для меня.

введите описание изображения здесь

Но все еще не работает для запуска с помощью Browser Link и см. подключение в панели мониторинга браузера.

Ответ 1

Я также использую VS2015 Update 3.

Браузерная ссылка также поддерживается для основных проектов ASP.NET.

Добавьте следующий код в свой Startup.cs → Метод настройки:

  app.UseBrowserLink();

Но если вы используете → .NET Core 1.0 - VS 2015 Tooling RC, то this может быть ваша проблема.

Установите appSetting "vs: EnableBrowserLink" на " true"

введите описание изображения здесь

Задайте отладку компиляции true в файле web.config. Браузерная ссылка будет отключена, если debug is false!

<system.web>
  <compilation debug="true"></compilation>
</system.web>

Попробуйте нажать

"Обновленные связанные браузеры",

введите описание изображения здесь

в моем случае соединения не появились первоначально, но после обновления! После этого, когда вы наводите курсор на значок обновления, отображается всплывающая подсказка, показывающая подключенные браузеры, например:

введите описание изображения здесь

В моем проекте .json у меня есть следующая настройка:

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

и активировать Browserlink:

введите описание изображения здесь

Вы можете увидеть, загружена ли она на вкладке сети браузеров: введите описание изображения здесь

Ответ 2

У меня все еще были старые версии ядра .net, а также SDK. Я удалил их (из панели управления) и переустановил "Инструментальный просмотр 2" из: https://www.microsoft.com/net/core#windows

И начнет работать hey-presto BrowserLink.

Ответ 3

У меня возникла такая же проблема с созданием приложения .NET Core MVC из пустого шаблона, но я понял, что шаблон "Веб-приложение" работает для меня из коробки.

Диалоговые диалоги основных шаблонов ASP.NET: выберите Empty, Web API или веб-приложение

Итак, я проверил все файлы конфигурации JSON, чтобы узнать, в чем были отличия.

Пустой проект Проект веб-приложений: дополнительные файлы конфигурации - appsettings.json и bundleconfig.json

Начиная со дна, web.config между ними на самом деле идентичны, поэтому вам нечего туда добавлять.

В проекте веб-приложения Startup.cs имеет следующий код внутри метода Configure():

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

В проекте project.json вам уже сказали поставить следующее в разделе зависимостей:

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

bundleconfig.json просто сообщает приложению, как связывать и минимизировать JavaScript, так что это не влияет на BrowserLink.

Теперь этого следующего я не получу. appsettings.json не существует в пустом проекте, и вам сказали положить тег appsettings в ваш web.config. Поскольку MS пытается уйти от web.config, я подумал, что найду что-то о BrowserLink в этом appsettings.json. Нету:

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

Хорошо, что бы то ни было, в этот момент я попробую что угодно. Скопируйте текст, перезапустите Visual Studio, запустите мой проект (обязательно перейдите на страницу, которая не является просто статическим HTML) и...

Ссылка на браузер работает!

При переходе на статическую HTML-страницу вы потеряете ссылку на браузер, но кроме этого, она работает очень хорошо. Мой совет: теперь, когда вы знаете, сколько головной боли это нужно сделать, никогда больше не начинайте с пустого проекта.