转载:http://www.cnblogs.com/subway-2008/archive/2009/07/26/1531610.html
我写的这些不是什么新鲜事儿,在google上都能找得到,不过都是自己在部署mvc应用程序时遇到的奇怪问题,可以说可大可小,毕竟第一次管理并配置服务器,对于基本的部署步骤在网上都可以找到的,在那之外的这些问题。对我而言,显得弥足珍贵。
先看Iis7:
1.Could not load file or assembly 'Name' or one of its dependencies. An attempt was made to load a program with an incorrect format.
我 在google上找关于这个错误,似乎说说原因的很多,一个个尝试都没什么效果,折腾了几个小时,在ms 论坛看到一些说法是将重新设置编译选项,打开项 目属性->编译选项-》改变目标cpu从x86到任何cpu,重编译,不过没什么用,、总算找到一篇文章和我的情况完全相似的情况,Could not load file or assembly 'name' or one of its dependencies ,这个家伙遇到的问题和我几乎一样,在他的介绍下,我解决了问题。对于这个问题
I. iis运行64位版本操作系统
II. 问题在于dll程序集是为32位操作系统编译的,
因此你需要打开项目属性,在bulid选项,platform target 是x86,意味着应用程序是为32位系统编译的,为什么你有一个32位的dll,可能是使用了一些64位不兼容组件,如mapi,odbc..
当然实际的问题是64位iis使用的应用程序池不允许32位dll被加入进程,打开iis管理器,找到网站的应用程序池,选择高级设置,看到其中有一个选项,Enable 32-Bit Applications",默认是false,这才是异常出现的原因所在。
2.HTTP Error 403.14 – Forbidden The Web server is configured to not list the contents of this directory
我记得在ii5,ii6下这个应该算是目录访问权限的问题,可是无论如何怎么设置都没什么效果,下面是我的解决方案:
打开iis7管理器。打开目录浏览,在目录浏览页中的,行为面板,点击 Enable
1.Open IIS Manager.
2.In the Features view, double-click Directory Browsing.
On the Directory Browsing page, in the Actions pane, click Enable.
下面是关于II6:安装好framework2.0,3.0,3.5以及sp1,在安装完mvc框架,新建网站,配置到数据库连接,打开浏览
HTTP 错误 403.1 – 禁止访问:执行访问被拒绝
我在网上找到的方法,一个试下来
1、在IIS里配置一下!默认是不行的!打开IIS的管理,找到相应的目录,打开属性,可以找到几个选项,勾中可以执行程序就行了!
2、用的是windows2003 IIS6.0吧,进入IIS,在网站下面找到“服务器扩展”——〉选择“允许所有未知CGI”“允许所有未知ISAPI”
3、 cgi之类的程序必须在特定的文件夹下才能执行,如cgi在名为cgi-bin的文件夹下存储才能被有效执行
4、在IE中找到工具,然后选择Internet选项,在里面找到 高级选项卡,然后找到显示友好的URL,并将左边的选取去掉,一切ok
5、也许是IIS没有搞好啊,用系统盘在重装一下IIS试试!
6、没有配置好服务器啊
7、把文件复制到wwwroot下面了嘛?没有的话,就做一个虚拟目录,这个不要解释了吧
8、IS→网站→属性→主目录 选中脚本和可执行文件如 NTFS 配置权限文件夹选项→查看 勾去使用简单文件共享 再配置文件权
9、你先试一下能不能访问你创建的虚拟目录。再用http://你的机器名/你的虚拟目录名/文件名.htm测试一下图片或者HTML静态网页是否可以浏览!
10、主目录->执行权限->脚本和可执行文件,再设置everyone权限
还是一样,后来在国外的社区看到
在IIS中选中网站点属性–主目录–配置
那个可执行文件选择 D:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 这个非常关键,果然可以被浏览了。