MvcSiteMapProvider - 不生成站点地图.xml

本文关键字:站点 地图 xml MvcSiteMapProvider | 更新日期: 2023-09-27 18:32:47

编辑:我的路由配置似乎有问题.cs。当我删除除最基本的路由之外的所有内容时,我可以找到我的站点地图.xml。我会调查并回来回答。

-

我已经在我的MVC4项目中通过Nuget安装了MvcSiteMapProvider.MVC4。

我的 Mvc.sitemap 看起来像这样(就像我通过 Nuget 得到的那样(

<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0"
            xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0 MvcSiteMapSchema.xsd">
  <mvcSiteMapNode title="Home" controller="Home" action="Index">
    <mvcSiteMapNode title="About" controller="Home" action="About"/>
  </mvcSiteMapNode>
</mvcSiteMap>

我的项目中有相应的控制器和操作(尽管我的主控制器有更多我没有在架构中写出的操作(

在我的路由配置的底部.cs我添加了这样的

MvcSiteMapProvider.Web.Mvc.XmlSiteMapController.RegisterRoutes(routes);

一切都编译良好,我没有对代码进行其他更改。

但是当我去本地主机:xxxx/sitemap时.xml我找不到任何文件(找不到资源。我的印象是这是开箱即用的。我错过了什么吗?

MvcSiteMapProvider 的其他功能如 @Html.MvcSiteMap((。SiteMap(( 工作得很好,但它根本不会生成站点地图.xml。

MvcSiteMapProvider - 不生成站点地图.xml

我的 RouteConfig.cs 文件中存在格式错误,MVC 路由解析器在到达关键代码之前就停止了:

MvcSiteMapProvider.Web.Mvc.XmlSiteMapController.RegisterRoutes(routes);

确保您的 RouteConfig.cs 没有中途停止,它应该没问题。

所以这都是我的错。