[英]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 文件夹 => 属性 => 取消选中只读
我知道这个线程有点旧,但是遇到了同样的问题。 可能与此有关。
我的问题是,当我通过 Visual Studio 的“客户端库”帮助程序添加文件时,这些文件被源代码管理忽略了。 Visual Studio 在解决方案资源管理器中的文件上显示了一个红色小图标,而不是蓝色挂锁(我碰巧错过了这个)。
我右键单击 lib 文件夹并“将忽略的文件添加到源代码管理”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.