由于业务需要,笔者刚进到一个项目组,由于没有美工,前台采用ExtJs + MVC 2 ,迭代1的项目做的还算比较顺利,至少在本机上是运行没有任何问题的,

但是为了给客户演示,我兴高采烈的将网站部署在IIS 上,结果总是提示'Ext'未定义'。通过Google浏览器,按了F12调试,发现时ExtJs路径引用问题,在

vs里运行正常,怎么发布之后,就出现这种情况? 仔细查看路径,是相对路径,我想这就是问题的症结所在了。

      于是大胆Google,手气不错,还是有关于MVC部署的解决方案,但是试过了N多次之后,仍然毫无改观。

      由于未能解决,项目进度压身,项目组开始打算换框架,他们希望采用WCF,放弃NVC——因为这样就避免了相对路径,他们有现成的成功案例。

这让我情何以堪啊?辛辛苦苦干了二十多天的心血,转到WCF,代码改的也不少啊,实话实说,.NET NVC 用着真舒服!

一边开始转项目,一边又对MVC不放弃,果然功夫不负有心人,终于有了比较满意的解决方案!

     以下是一些具体记录,愿与大家分享,希望对遇到类似问题的后来者有一点帮助,反正我是走了不少弯路,呵呵!

 

我的项目目录结构如下:

再看 ExtJs的位置

 

以下是最初对ExtJS 的引用路径,这种引用时相对路径,在VS2010调试没有问题,部署在IIS5.0和IIS6.0均提示'Ext未定义'

这样并不能部署成功,使用Google浏览器后,F12调试发现时extjs、css之类的路径引用问题。

以下是参考了相关资料并且实践成功的解决方案

<%=Url.Content("") %>

这样我们就可以在引用路径和js中更改url(或src)

于是修改如下

 

好了,说道这里是不是太罗嗦了,让我们来一步一步部署吧!

第一步。请安装IIS,这个省略,我本机安装的是IIS5.1 版本。

当您安装IIS成功后,在控制面板——管理工具中会出现

第二步。发布网站,

打开你的项目,请确保你的重新生成是成功的。

点击项目,右键——》发布,如下图,

 

按上面的填好,单击"发布",看vs下面菜单栏提示,会提示是否发布成功。

发布成功后,打开C:\Inetpub\wwwroot 你会看到你发布的网站文件,这里是Test

第三步,打开IIS

默认网站下会出现,Test虚拟目录,基本上大功告成了。

最后,在浏览器中输入地址:http://localhost/Test 即可

效果如下

 转载原文:http://blog.knowsky.com/270414.htm

 

posted on 2015-02-27 08:44  lizihong  阅读(177)  评论(0编辑  收藏  举报