10

我正在使用 Visual Studio 2015 Update 3 并希望在我的 ASP.NET Core v1.0 WebApp 项目中使用浏览器链接功能......但我无法让浏览器链接工作。

  1. ASP.NET Core v1.0 项目是否支持浏览器链接?

关于将浏览器链接与 ASP.NET Core 一起使用,我找不到太多信息。

我的项目构建正常,但无论是否运行调试,浏览器链接仪表板始终显示为“无当前连接”。

在我的 project.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>

“刷新链接浏览器”选项对我来说仍然是禁用的。

在此处输入图像描述

但仍然无法使用浏览器链接启动并在浏览器链接仪表板中查看连接。

4

3 回答 3

6

我也在使用 VS2015 Update 3。

当然,ASP.NET Core 项目也支持 Browserlink。

将以下代码添加到您的 Startup.cs -> Configure 方法:

  app.UseBrowserLink();

但是,如果您使用 --> .NET Core 1.0 - VS 2015 Tooling RC,那么可能是您的问题。

将 appSetting “vs:EnableBrowserLink” 设置为 “<strong>true”</p>

在此处输入图像描述

在 web.config 文件中将编译调试设置为true。当 debug 为 false 时,Browserlink 将被禁用!

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

尝试点击

“刷新链接浏览器”,

在此处输入图像描述

就我而言,最初没有出现任何连接,但刷新后!之后,当您将鼠标悬停在刷新图标上时,会显示一个显示已连接浏览器的工具提示,例如:

在此处输入图像描述

在我的 project.json 中,我有以下设置:

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

并且必须启用 Browserlink:

在此处输入图像描述

您可以查看它是否已加载到浏览器的网络选项卡中: 在此处输入图像描述

于 2016-07-10T08:36:38.027 回答
1

从空模板构建 .NET Core MVC 应用程序时我遇到了同样的问题,但我发现“Web 应用程序”模板开箱即用。

ASP.NET Core 模板对话框:选择 Empty、Web API 或 Web Application

所以,我检查了所有的配置 JSON 文件,看看有什么不同。

空项目Web 应用程序项目:额外的配置文件是 appsettings.json 和 bundleconfig.json

从底部开始,两者之间的 web.config 实际上是相同的,因此您不必在其中添加任何内容。

在 Web App 项目中,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 在空项目中不存在,并且您被告知在 web.config 中放置一个 appsettings 标记。由于 MS 正试图摆脱 web.config,我想我会在 appsettings.json 中找到有关 BrowserLink 的内容。没有:

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

好吧,无论如何,在这一点上,我会尝试任何事情。复制文本,重新启动 Visual Studio,运行我的项目(确保导航到不只是静态 HTML 的页面),然后...

浏览器链接有效!

每当您浏览到静态 HTML 页面时,您都会丢失浏览器链接,但除此之外,它运行良好。我的建议:既然您知道这样做是多么令人头疼,就不要再从一个空项目开始了。

于 2016-11-17T18:15:31.327 回答
1

我仍然安装了旧版本的 .net 核心以及 SDK。我删除了这些(从控制面板),并从以下位置重新安装了 Tooling Preview 2:https ://www.microsoft.com/net/core#windows

嘿-presto BrowserLink 开始工作。

于 2016-08-25T12:21:46.197 回答