我正在尝试将ASP.NET MVC 5.2.3.0应用程序作为嵌套应用程序运行,以便我可以将其作为子文件夹访问,例如http://example.com/my-application。 我已经通过选择Add Application选择单独的应用程序池将其添加到现有应用程序中。 当我在自己的URL上运行我的应用程序时它工作正常但是当我尝试以http://example.com/my-application运行它时它拒绝渲染包,既不是样式也不是js。 到目前为止我尝试了什么:
<link href="/calc/bundles/styles/mainlayout?v=" rel="stylesheet"/>
,链接将返回空文档。如果有人遇到同样的问题,那么任何建议都会受到赞赏。 感谢。
更新:我找到了导致问题的原因。我们密集使用T4MVC,我们也将它用于捆绑配置。所以我们的bundle声明看起来像:
bundles.Add(new ScriptBundle("~/bundles/scripts")
.Include("~" + Links.Scripts.Script1_js, "~" + Links.Scripts.Script2_js));
嵌套应用程序"~" + Links.Scripts.Script1_js
为~/my-application/scripts/script1.js
提供VirtualPathProvider
,而Include
方法内的~/scripts/script1.js
则为driver.findElement(By.cssSelector("div.md-tile-text--primary.md-text:contains('Getting Started')"));
。
所以问题转化为:有没有人知道如何防止T4MVC将嵌套的应用程序路径添加到静态文件链接上,以便应用程序不知道嵌套?我打赌@David Ebbo知道如何实现这个目标:)