繁体   English   中英

Core 2 MVC 无法访问 wwwroot lib

[英]Core 2 MVC Can't access wwwroot lib

我正在从 .Net 切换到 Core 2,而不是使用 VS2017 提供的模板,我想从头开始创建一个应用程序来查看工作情况。 但是,我正在使用模板项目来检查何时卡住,但我看不到导致访问问题的原因。

我遇到的问题是,当我运行 Web 应用程序时,没有访问wwwroot/lib任何内容。 环境是开发,并且在布局中指定了链接:

<environment include="Development"> <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" /> <link rel="stylesheet" href="~/css/site.css" /> </environment>

如果我从环境元素中取出链接,它们仍然无法访问,使用提琴手我可以看到 404 错误,但文件在那里。

这些文件存在于项目中,通过bower安装,并且在bower.json文件中引用了bower.json文件。 .bowerrc文件将wwwroot/lib指定为存储内容的位置。

我在启动中的Configure方法如下:

    `public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
            app.UseBrowserLink();
        }
        else
        {
            app.UseExceptionHandler("/Home/Error");
        }

        app.UseStaticFiles();
        // to get cookie authentication to work
        app.UseAuthentication();

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

什么可能导致对wwwroot/lib访问受限?

编辑1:

最初@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers无法从_ViewImports工作,但我不明白为什么,此时引导程序正在工作。 我所做的唯一更改是在布局文件的顶部添加@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers ,这使得所有asp-元素都可以工作。 但是, wwwroot/lib没有任何内容被访问。

没什么大不了的,从布局中删除了@addTag ,仍然无法访问wwwroot。 我已经重新启动了visual studio,多次重建和清理,但没有任何效果。 古怪,因为除去@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers从布局,ViewImports工作,我认为作为asp-帮手还是功能。

编辑2:

我已发布到远程 IIS 服务器,它以正确的内容运行,没有问题。 考虑到这一点,我在本地计算机上安装了 IIS,而不是 IIS Express。 当我在调试中运行它时,它仍然没有选择正确的内容。

编辑3:

不知道为什么或如何,但_ViewImports.cshtml似乎是问题所在。 如果我删除它,应用程序会选择样式,但是我仍然无法访问.css. .js文件通过浏览器。 浏览器控制台也报告内容无法访问的错误,所以它如何拾取样式有点令人困惑!

不是这样的解决方案,我不得不开始一个新项目并复制文件的内容并且它起作用了。 与项目设置的唯一区别是像_ViewImports.cshtml这样的文件,我使用特定文件添加,而不是重命名视图。 它看起来相同,所以我不知道是否有幕后原因。

我有同样的问题。 就我而言,它与 wwwroot 文件夹下的权限有关。 对我有用的是:右键单击 Windows 资源管理器中的 wwwroot 文件夹 => 属性 => 取消选中只读

我知道这个线程有点旧,但是遇到了同样的问题。 可能与此有关。

https://github.com/aspnet/LibraryManager/issues/373

我的问题是,当我通过 Visual Studio 的“客户端库”帮助程序添加文件时,这些文件被源代码管理忽略了。 Visual Studio 在解决方案资源管理器中的文件上显示了一个红色小图标,而不是蓝色挂锁(我碰巧错过了这个)。

我右键单击 lib 文件夹并“将忽略的文件添加到源代码管理”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM