ASP.NET MVC 404未在prod中发现错误,但未在测试中发现

时间:2016-05-22 01:41:43

标签: c# asp.net-mvc

我有一个ASP.NET MVC 5.2.3网站。我一直在尝试在右下角添加一个站点地图的链接。该链接在_Layout.cshtml中使用:

实现
<p class="notep right">@Html.ActionLink("Site Map", "SiteMap", "Home")</p>

我看到网页在我的本地计算机上显示得很漂亮。但当我把它放在服务器上时,我得到了:

'/'应用程序中的服务器错误。

无法找到资源。

描述: HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。

请求的网址: /主页/网站地图

我最初在本地计算机上遇到此问题。但我在那里通过添加代码块来修复它:

public ActionResult SiteMap()
{
    return View();
}

到HomeController。

我可以确认此更改已成功上传到网站。

网站上的所有其他操作链接都可以正常运行。在我的本地机器上也是如此。那么生产环境会有什么不同会妨碍它在那里正常工作呢?

修改

我的RouteConfig文件是:

using System.Web.Mvc;
using System.Web.Routing;

namespace MyNamespace
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
                namespaces: new string[] {"MyNamespace.Controllers"}
            );
        }
    }
}

修改

我的csproj文件中的项目类型是:

<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>

我当然在文档根目录中看到了bin和obj目录,以及其他可能的构建工件。

0 个答案:

没有答案