Asp.net core 从Visual Studio代码运行ASP.NET core时缺少工具栏

Asp.net core 从Visual Studio代码运行ASP.NET core时缺少工具栏,asp.net-core,visual-studio-code,Asp.net Core,Visual Studio Code,环境:Ubuntu 16.04、.NET内核1.10(1.0.0-preview2-1-003177),Visual Studio代码1.8.1 我刚刚生成了一个新的ASP.NET核心应用程序。当我从终端窗口运行应用程序时,启动网页将按预期显示 $ cd MyApp $ dotnet run 但是,当我从VSC加载MyApp文件夹并按F5进行调试时,网页略有不同。特别是缺少默认的顶部工具栏。工具栏项(如主页、关于、联系人等)排列在一列中 我比较了生成的html在两者之间的差异。从命令行运行时,

环境:Ubuntu 16.04、.NET内核1.10(1.0.0-preview2-1-003177),Visual Studio代码1.8.1

我刚刚生成了一个新的ASP.NET核心应用程序。当我从终端窗口运行应用程序时,启动网页将按预期显示

$ cd MyApp
$ dotnet run
但是,当我从VSC加载MyApp文件夹并按F5进行调试时,网页略有不同。特别是缺少默认的顶部工具栏。工具栏项(如主页、关于、联系人等)排列在一列中

我比较了生成的html在两者之间的差异。从命令行运行时,样式表链接为:

href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/css/bootstrap.min.css"
href="/css/site.min.css"
href="/lib/bootstrap/dist/css/bootstrap.css"
href="/css/site.css"
从VCS运行时,链接为:

href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/css/bootstrap.min.css"
href="/css/site.min.css"
href="/lib/bootstrap/dist/css/bootstrap.css"
href="/css/site.css"
在检查本地文件结构时,我看到文件
css/site.css
位于文件夹
wwwroot
下。但是,我根本看不到任何
lib
文件夹

更多信息。原来
\u Layout.cshtml
添加了基于环境名称的链接。当名称为Staging和Production时,生成的引导链接用于ajax.aspnetcdn.com。对于“开发”,链接是“/lib/xxx”


想知道我是如何强制VCS自动将
bootstrap.css
填充到
lib
目录中的。

当你的应用程序从VS代码运行时,它似乎不提供css文件

要进一步排除故障,需要查看
launch.json
project.json
Startup.cs
文件。我猜您的
launch.json
设置为在与终端发出的
dotnet run
命令稍有不同的配置下运行。这导致

  • 根本不提供静态文件,或者
  • 在应用程序的生成输出中不包括CSS文件
  • 根据您的问题更新,问题在于您的
    launch.json
    在开发环境中运行,而您的终端在暂存或生产环境中运行。前者在本地提供引导服务;后者通过内容交付网络提供服务


    在“开发”环境中运行时,需要在本地安装引导程序,并确保它在运行时位于/lib目录中。也就是说。如何做到这一点取决于您使用的ASP.NET核心应用程序模板。例如,如果您使用Yeoman生成应用程序,则需要使用Bower进行恢复。检查下载、安装和构建客户端依赖项(可能包括引导)的gulpfile.js、bower.json文件或package.json

    问题解决了。生成网站时,将创建一个文件
    bower.json
    。此文件包含有关引导程序包的信息。但是,由于某些原因,此软件包不会自动下载。您需要执行以下操作:

  • 在VSC中,通过运行“ext install bower”安装bower插件
  • 按F1键并键入Bower。下一种类型,“Bower更新”
  • 就是这样。该插件将下载引导包并将其填充到
    wwwroot/lib
    目录中。现在,该网站将从VSC内部按预期运行


    希望下一版本的VSC将集成bower。

    感谢您的帮助。我用更多的信息更新了我原来的帖子。如果您认为您可能需要解决此问题,我们将不胜感激。事实上,我很惊讶没有其他人看到这个问题。我已经进一步更新了我的帖子。链接是基于环境名称生成的。只是需要帮助了解如何通过VCS下载引导(并保持更新)。是的。你有两个选择。选项A是在开发期间在本地为bootstrap.css提供服务,选项B是在开发期间从内容交付网络(CDN)提供服务。选项A意味着确保1。您在本地有bootstrap.css,这是2。您可以在运行时从/lib提供它(这可能涉及对project.json的编辑)。选项B意味着将您的
    \u Layout.cshtml
    更改为在所有环境配置中从CDN提供服务。您是否有bootstrap.css的本地副本?如果是,它包含在哪个目录中?是否需要运行
    gulp
    grunt
    npm
    来安装和构建客户端依赖项?例如,您是否有gulpfile.js或package.json?您使用什么工具生成ASP.NET核心应用程序?感谢您的帮助Shaun。该项目是通过运行“dotnetnew-tweb”生成的。代码完全不受限制。看看我是怎么解决的。如果我将ASPNETCORE_环境设置为Development,我想我可以在不使用VCS的情况下复制它。