原來的框架中已經有了一個area ,然后我新加了一個area , F5除錯的時候, 可以正常訪問,但是發布狗 原來的area可以訪問, 我新建的area無法訪問 ,請問怎么解決?
控制器上已經增加了 添加AreaAttribute屬性
MapRoute 是這么寫的
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute("areas", "{area:exists}/{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}");
});
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
自己頂一下
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
沒用過core。我覺得,
1 可能是路由問題。
2 發布時,是不是CustomersLibraryIndex.cshtml沒有?
你是在lunix還是 windows發布的?
uj5u.com熱心網友回復:
Area 要路由重寫下[Area("Admin")]
[Route("/Admin/Product/List")]
uj5u.com熱心網友回復:
[Area("Admin")]
[Route("Admin/[controller]/[action]")]
[Authorize(AuthenticationSchemes = AdminAuthorizeAttribute.AuthenticationScheme)]
public class AdminController : Controller
{
IWebHostEnvironment _hostingEnvironment;
IAdminService _adminService;
IRoleService _roleService;
public AdminController(IWebHostEnvironment webHostEnvironment, IAdminService adminService, IRoleService roleService)
{
_roleService = roleService;
_hostingEnvironment = webHostEnvironment;
_adminService = adminService;
}
}
uj5u.com熱心網友回復:
路由看看.area,最佳辦法是去MSDN看看.NET CORE 的MVC,那個路由的規則,弄清除了估計就改一句話.用框架的話就是要搞清楚規則uj5u.com熱心網友回復:
不是各位說的問題, 應該還是發布時候出了問題, 我限制用ctrl+f5 生成bin檔案, 然后把bin檔案拷貝到發布的目錄, 就能找到view檔案,訪問正常了。
uj5u.com熱心網友回復:
有點奇怪的情況。
這讓我感覺,如果你生成的話,是不是存在報錯情況?
uj5u.com熱心網友回復:
路由看看.area,最佳辦法是去MSDN看看.NET CORE 的MVC,那個路由的規則,弄清除了估計就改一句話.用框架的話就是要搞清楚規則
[Area("Admin")]
[Route("Admin/[controller]/[action]")]
[Authorize(AuthenticationSchemes = AdminAuthorizeAttribute.AuthenticationScheme)]
public class AdminController : Controller
{
IWebHostEnvironment _hostingEnvironment;
IAdminService _adminService;
IRoleService _roleService;
public AdminController(IWebHostEnvironment webHostEnvironment, IAdminService adminService, IRoleService roleService)
{
_roleService = roleService;
_hostingEnvironment = webHostEnvironment;
_adminService = adminService;
}
}
沒用過core。
我覺得,
1 可能是路由問題。
2 發布時,是不是CustomersLibraryIndex.cshtml沒有?
你是在lunix還是 windows發布的?
不是各位說的問題, 應該還是發布時候出了問題, 我限制用ctrl+f5 生成bin檔案, 然后把bin檔案拷貝到發布的目錄, 就能找到view檔案,訪問正常了。
有點奇怪的情況。
這讓我感覺,如果你生成的話,是不是存在報錯情況?
發布日志里面沒有看到報錯啊 , 我之前還以為是添加area出了問題, 刪掉web專案, 重新添加了一個新專案, 再把area的內容拷貝過來 ,直接使用發布功能,也是同樣的錯誤。現在只能用f5生成bin,然后把bin里面的內容拷貝到發布目錄。
uj5u.com熱心網友回復:
發布日志里面沒有看到報錯啊 , 我之前還以為是添加area出了問題, 刪掉web專案, 重新添加了一個新專案, 再把area的內容拷貝過來 ,直接使用發布功能,也是同樣的錯誤。現在只能用f5生成bin,然后把bin里面的內容拷貝到發布目錄。
那你看看,是不是發布檔案夾沒有檔案寫入權限?
給個everyone試試看
uj5u.com熱心網友回復:
發布日志里面沒有看到報錯啊 , 我之前還以為是添加area出了問題, 刪掉web專案, 重新添加了一個新專案, 再把area的內容拷貝過來 ,直接使用發布功能,也是同樣的錯誤。現在只能用f5生成bin,然后把bin里面的內容拷貝到發布目錄。
那你看看,是不是發布檔案夾沒有檔案寫入權限?
給個everyone試試看
如果沒有權限,那么一個檔案都寫不進去啊?現在就是我新增的部分沒有
uj5u.com熱心網友回復:
發布日志里面沒有看到報錯啊 , 我之前還以為是添加area出了問題, 刪掉web專案, 重新添加了一個新專案, 再把area的內容拷貝過來 ,直接使用發布功能,也是同樣的錯誤。現在只能用f5生成bin,然后把bin里面的內容拷貝到發布目錄。
那你看看,是不是發布檔案夾沒有檔案寫入權限?
給個everyone試試看
如果沒有權限,那么一個檔案都寫不進去啊?現在就是我新增的部分沒有
沒有權限,就不能操作檔案。
uj5u.com熱心網友回復:
發布日志里面沒有看到報錯啊 , 我之前還以為是添加area出了問題, 刪掉web專案, 重新添加了一個新專案, 再把area的內容拷貝過來 ,直接使用發布功能,也是同樣的錯誤。現在只能用f5生成bin,然后把bin里面的內容拷貝到發布目錄。
那你看看,是不是發布檔案夾沒有檔案寫入權限?
給個everyone試試看
如果沒有權限,那么一個檔案都寫不進去啊?現在就是我新增的部分沒有
沒有權限,就不能操作檔案。
不是的 ,是有寫進我設定的檔案夾,但是只能 包含原來就有的那些視圖
uj5u.com熱心網友回復:
發布日志里面沒有看到報錯啊 , 我之前還以為是添加area出了問題, 刪掉web專案, 重新添加了一個新專案, 再把area的內容拷貝過來 ,直接使用發布功能,也是同樣的錯誤。現在只能用f5生成bin,然后把bin里面的內容拷貝到發布目錄。
那你看看,是不是發布檔案夾沒有檔案寫入權限?
給個everyone試試看
如果沒有權限,那么一個檔案都寫不進去啊?現在就是我新增的部分沒有
沒有權限,就不能操作檔案。
不是的 ,是有寫進我設定的檔案夾,但是只能 包含原來就有的那些視圖
你area的檔案是拷貝到專案的?不是新建的?
那么發布的時候,要把他們包含到發布里。
拷貝進去的,默認是不會發布的。
uj5u.com熱心網友回復:
我開始也以為是沒有包含進去, 后來重新創建 , 也是不行轉載請註明出處,本文鏈接:https://www.uj5u.com/net/29710.html
標籤:ASP.NET
上一篇:請教c#賦值變數不生效問題
下一篇:開源版禪道無法匯入缺陷怎么辦呢?
