首页 > 解决方案 > 找不到 Angular 和 MVC 4.7.2 捆绑包

问题描述

我在本地 IIS 上使用 Angular 托管 WebApi。当我在本地从 Visual Studio 运行应用程序时,它工作正常,但在部署到本地 IIS 时,我在 Web 浏览器控制台中收到以下错误:

404

我有_Layout.cshtml以下代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
    <base href="/MyAppName/">
    @Styles.Render("~/Content/Styles")
</head>
<body>
    <div>
        @RenderBody()
    </div>
    @Scripts.Render("~/Script/Bundles")
</body>
</html>

这是我的BundleConfig.cs

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new Bundle("~/Script/Bundles").Include(
        "~/dist/runtime.*",
        "~/dist/polyfills.*",
        "~/dist/main.*"
    ));

    bundles.Add(new Bundle("~/Content/Styles").Include("~/dist/styles.*"));
}

并且Web.Config配置如下:

<rewrite>
    <rules>
        <rule name="Angular" stopProcessing="true">
            <match url=".*" />
            <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
            </conditions>
            <action type="Rewrite" url="MyAppName" />
        </rule>
    </rules>
</rewrite>

我正在努力找出问题所在。我不知道我是否缺少一些 IIS 配置,因为正如我所说,在发布模式下从 Visual Studio 运行它工作得很好。

我错过了什么?

编辑:

我发现了问题,问题是我捆绑了已经缩小的文件,我认为 .NET 对此并不满意。

我通过添加以下内容解决了该问题:

BundleTable.EnableOptimizations = false;

这解决了问题!

标签: angularasp.net-mvciis

解决方案


我发现了问题,问题是我捆绑了已经缩小的文件,我认为 .NET 对此并不满意。

我通过添加以下内容解决了该问题:

BundleTable.EnableOptimizations = false;

这解决了这个问题,但给了我另一个。页面第一次加载很好,但刷新后我得到 404。仍然有一些路由器问题,因为我在同一个应用程序中托管 Angular 和 WebAPI,但这是另一个线程。


推荐阅读