我正在开发一个带有AngularJS前端的ASP.NET MVC应用程序,当它从visual studio / iis express运行时效果很好,但是当我尝试发布它时它不太好,以便其他用户可以访问它(例如,在浏览器中导航到http://server/application。我在服务器上配置了IIS,以便http://server/application指向“application”文件夹,其结构如下:
application
app
areas
foundation
main
layout
layout.html
bin
Content
fonts
Scripts
Templates
Views
Shared
_Layout.cshtml
Index.cshtml
Logs
Global.asax
web.config
初始页面Index.cshtml(在Views / Shared /下)被加载但包括:
<div ng-include="'app/main/layout/layout.html'"></div>
返回500.24 - 内部服务器错误。
如果我将ng-include更改为:
<div ng-include="'application/app/main/layout/layout.html'"></div>
然后发布的应用程序工作但从visual studio / iis express运行它在尝试加载该layout.html文件时返回404.0 - 未找到响应,我假设因为在运行时没有父“application”文件夹iisexpress。
我确实通过将已发布的应用程序文件夹的内容复制到服务器的C:\ inetpub \ wwwroot文件夹来管理已发布的应用程序,但这似乎不是一个合适的解决方案,那么最好的方法是什么?告知Angular要查看此ng-include的正确位置?