[英]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.