我正在使用 ASP.Net MVC,我的包看起来像:
bundles.Add(new Bundle("~/bundles/rgmpjsbundle").Include(
"~/Scripts/jquery-{version}.js",
"~/Scripts/jquery-ui-{version}.js",
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*",
"~/Scripts/modernizr-*",
"~/Scripts/jquery.address-1.5.js",
"~/Scripts/tabmenu.js",
"~/Scripts/knockout-2.2.0.js",
"~/Scripts/knockout.mapping-latest.js",
"~/Scripts/jquery-ui-1.10.3.custom.js",
"~/Scripts/KnockoutCustomBindings.js",
"~/Scripts/knockout-sortable*",
"~/Scripts/moment.js"));
这是相当标准的。当我在开发区域部署我的应用程序时,问题就来了。IIS 的设置如下(我知道这不是很好):
DEVWEBSITE
-> app 1
-> app 2
-> app 3
UATWEBSITE
-> app 1
-> app 2
-> app 3
然而; 生产设置不同,因为每个应用程序都有自己的网站。事实证明这对我来说是一个正确的痛苦,因为在 DEV/UAT 结构下,我的应用程序将使用 ~ 一直跳回 DEV/UAT 网站(Shell 网站),但在 PROD 环境中它会回到Web 应用程序的根目录。我会使用相对引用,除非我使用 MVC URL 重写。
有没有人可以解决这个问题?也许 IIS7 上的一些设置可以捕捉〜引用?