编辑:这似乎是我的Routeconfig.cs有问题。当我除了最基本的路由,我可以找到我的sitemap.xml。我会调查并回答一个答案。MvcSiteMapProvider - 不生成sitemap.xml
-
我在MVC4项目安装MvcSiteMapProvider.MVC4通过的NuGet。
我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>
我已经在我的项目相应的控制器和行动(虽然我的HomeController有,我没有带创作的更多行动在架构)
在我RouteConfig.cs的底部添加此类似
MvcSiteMapProvider.Web.Mvc.XmlSiteMapController.RegisterRoutes(routes);
一切编译罚款和我已经没有其他改变到代码。
但是,当我去本地主机:xxxx/sitemap.xml我找不到文件(该资源找不到。)。我的印象是,这可能是开箱即用的。我错过了什么吗?
MvcSiteMapProvider像@ Html.MvcSiteMap()这样的其他东西,SiteMap()工作得很好,但它不会生成sitemap.xml。
实际上,当使用v4.0.14或更高版本(以及内部DI容器)时,您不需要在配置中包含此行,因为它现在自动完成。 – NightOwl888
好的,那太好了。我没有测试,但我怀疑它会起作用,因为我修复了我的RouteConfig。 –