簡體   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