Asp.net web api 将站点发布到IIS-找不到文件

Asp.net web api 将站点发布到IIS-找不到文件,asp.net-web-api,iis-7.5,Asp.net Web Api,Iis 7.5,我已经创建了一个小网站,在IIS express上运行良好。我已经在IIS上创建了新的应用程序,并将包部署到该文件夹中。服务器端是asp.net webapi。当我尝试进入主页时,捆绑包配置加载良好,但是在cshtml页面上引用的java脚本文件始终找不到 <script src="~/Client/lib/require/require.js" data-main="../../Client/app/requireConfig"></script> 我得到- re

我已经创建了一个小网站,在IIS express上运行良好。我已经在IIS上创建了新的应用程序,并将包部署到该文件夹中。服务器端是asp.net webapi。当我尝试进入主页时,捆绑包配置加载良好,但是在cshtml页面上引用的java脚本文件始终找不到

<script src="~/Client/lib/require/require.js" data-main="../../Client/app/requireConfig"></script>

我得到- require.js /找不到客户端/lib/require-->404

<script src="~/Client/lib/require/require.js" data-main="../../Client/app/requireConfig"></script>
还有有效的包裹 viewingPanelDirective.js /NGWeb/Client/app/appComponents/viewingPanel


我怎样才能克服呢?

我想我知道可能的原因,我自己也有同样的问题

在visualstudio中,js文件在如下url上运行

http://localhost:/client/lib/require/require.js
现在您发布了它,并将其作为应用程序添加到默认站点,您应该给它一个别名(例如“testsite”)

这意味着实际上该文件位于

http://localhost/testsite/client/lib/require.js
但实际上,您的站点正在寻找它(因为~)

根据评论进行编辑:

我宁愿在bundles虚拟路径中包含您的应用程序名称,而不是删除(您需要将其导航回url根目录),如下所示:

bundles.Add(new styleBundle("~/yourAppName/Content/css")) ....... etc
我也看到过这篇文章,我自己也没试过,但它似乎是我方法的一个有趣的替代品


但当我调试它时,它使用的是没有应用程序名称“#if DEBUG”的iis express跳转到另一个声明中。对于调试和发布,您可以有不同的路径。我们的配置文件将显示Web.config中的路径