我用C#用ASP.NET构建了一个项目,该项目在VS13环境中运行得很好,但当它放在IIS上时,只会令人沮丧。项目的结构使用MVC,因此在项目中为每个模型、控制器和视图使用目录。
在母版页中,我调用了两个引用:
TrailerWizardsPortal.Models
TrailerWizardsPortal.Controllers
问题:
当我运行使用母版页的页面时,项目会因为这些引用而中断。一些可能有助于更好地理解的附加信息:
- Framework 4.5在项目和IIS中使用,并安装在服务器上
- 母版页前端已从CodeBehind更改为CodeFile
- IIS版本为8.5
输出:
输出是类型或命名空间不存在的标准"编译错误"。在这种情况下,"控制器"one_answers"模型"都是罪魁祸首
我该如何让IIS意识到这些目录的存在
错误:
"/"应用程序中的服务器错误。
编译错误
描述:编译服务此请求所需的资源时出错。请查看以下特定错误的详细信息,并适当地修改源代码。
编译器错误消息:CS0234:命名空间"TrailerWizardsPortal"中不存在类型或命名空间名称"Controllers"(是否缺少程序集引用?)
第7行:使用System.Configuration
第8行:使用TrailerWizardsPortal
第9行:使用TrailerWizardsPortal.Controllers;←断线
第10行:使用TrailerWizardsPortal.Models
第11行:使用System.Web.UI.WebControls
"Controllers"one_answers"Models"都位于using语句指定的位置。
我终于解决了我的问题。我不得不将我的"网站"目录转换为应用程序。以下是我必须遵循的步骤:
- 打开IIS管理器
- 展开您要工作的网站
- 右键单击"网站"目录(该目录可能会为您命名,即包含所有.aspx和.cs文件的目录),然后选择"转换为应用程序"
- 根据您的配置填写相应的字段,然后单击"确定"
请记住,这是一个ASP.NET web应用程序,因此这可能是您的解决方案,也可能不是。
这似乎是一个新手犯的错误,但这就是我解决问题的原因。希望这能帮助到别人。