将 ASP.NET MVC 应用程序发布到 Web 主机 - 在 VS 项目结构中而不是应用程序中部署文件

Posted

技术标签:

【中文标题】将 ASP.NET MVC 应用程序发布到 Web 主机 - 在 VS 项目结构中而不是应用程序中部署文件【英文标题】:Publishing ASP.NET MVC application to a web host - deploys files in the VS project structure instead of the application 【发布时间】:2016-03-31 15:03:11 【问题描述】:

我使用 ASP.NET MVC 创建了一个 Web 应用程序,并希望将其发布到没有 VS 等任何特殊扩展的在线 Web 托管公司。

我尝试通过“FTP”发布,但它只是将所有文件复制到主机,例如,带有 Index.cshtml 的“Views”文件夹已进入 (webhost)/Views/Index.cshtml 并且我仍然有我的虚拟主机为域的实际“根”提供的占位符页面(当我转到 www.mysite.com 时)

我做错了什么?我该怎么办?

应用程序在本地部署和调试模式下运行良好..

啊!!不得不问这个问题我觉得很愚蠢,但我认为这只是一个配置问题,而不是我错过的基本问题……希望如此!

【问题讨论】:

你试过yourSite.com/Home/index?someRandomStringToAvoidCaching 我没有,但我刚刚尝试了 /Home/index?xyz 并收到“404.0”错误...(来自 IIS) 很可能是应用域配置不正确。检查站点设置,看看框架版本是否不是 2。它默认为。 在 IIS 中,您需要检查您的站点是否使用 v4.0 应用程序池(集成)。有时默认应用程序池是 v2.0,这会阻止您的网站正常加载 我会说向您的提供商开一张票,让他们确认/配置您的应用程序池。 【参考方案1】:

我假设您的托管服务提供商支持 ASP.Net。

您应该尝试使用生成的发布设置文件中的 Web 部署在 Visual Studio 中发布您的站点,如下所示: https://msdn.microsoft.com/en-us/library/dd465337(v=vs.110).aspx

,还记得通过将<compilation debug="true">属性设置为false来修改你的web配置文件。

通常您可以在进行一些设置后从您的主机配置控制面板下载您的发布设置文件

【讨论】:

以上是关于将 ASP.NET MVC 应用程序发布到 Web 主机 - 在 VS 项目结构中而不是应用程序中部署文件的主要内容,如果未能解决你的问题,请参考以下文章

将 ASP.NET Razor 网站(例如 MiniBlog)集成为 ASP.NET MVC Web 应用程序的模块?

从 ASP.NET MVC 5 移植到 dotnet core 2:可能替代 System.Web.Mvc.HttpStatusCodeResult [重复]

对于 asp.net mvc Web 应用程序,将文本文件存储到 Sql Server 数据库中的最佳方法是啥?

如何使用 Visual Studio 2012 Express 将 ASP.NET MVC 4 应用程序部署到 Web 托管提供商子目录?

将 ASP.NET MVC NHibernate 应用程序部署到 IIS7 时出错

跨域发布到 ASP.Net MVC 应用程序