如何将 ASP.NET MVC 应用程序发布到免费主机

如何将 ASP.NET MVC 应用程序发布到免费主机

我正在使用一个免费的网络主机(0000free),它支持 ASP.NET MVC,但它使用 Mono。这是我第一次部署 MVC 应用程序,所以我有点困惑我需要在哪里部署它。我有 Visual Studio 2010,我使用它的发布功能(即右键单击项目名称并单击发布),我尝试了以下几件事:

  1. 发布方式:FTP到根文件夹。
  2. 发布方法:FTP到publich_html文件夹。
  3. 发布方式:文件系统到根文件夹。
  4. 发布方式:文件系统到publich_html文件夹。
  5. 发布方法:将文件系统发布到我计算机上的本地目录,然后通过 FTP 发布到根目录,并尝试了 public_html 文件夹。
  6. 我进入 cPanel(控制面板)尝试查看是否需要为我的网站添加/启用 ASP.NET,但我没有看到任何内容。
  7. 我无法浏览到 Index.aspx,也无法从 index.html 重定向到它(正如其他帖子所建议的那样主办论坛),现在我有一个从 index.html 到 Index.aspx 的链接,但它也不起作用(请参阅http://www.mydevarmy.com
  8. 我也尝试将 Index.aspx 重命名为 Default.aspx,但这也不起作用。

主机论坛的搜索功能有点弱,所以我使用谷歌来搜索他们的论坛:http://www.google.com/search?q=publish+asp.net+site%3A0000free.com%2Fforum%2F&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a

我一直在读专业 ASP.NET MVC 框架他们有一章关于出版的内容,但没有提供关于出版地点的任何具体信息,他们只是说了这些(对我来说没有什么帮助):

我应该把我的申请放在哪里?
您可以将应用程序部署到服务器上的任何文件夹。首次安装 IIS 时,它会自动在 c:\Inetpub\wwwroot\ 中为名为 Default Web Site 的网站创建一个名为的网站文件夹,但您不必将应用程序文件放在那里。将应用程序托管在与操作系统不同的物理驱动器上是很常见的(例如,在 e:\websites\ example.com 中)。这完全取决于您,并且可能会受到诸如您计划如何备份服务器等问题的影响。

这是我尝试查看 Index.aspx 页面时遇到的异常:

Unrecognized attribute 'targetFramework'. (/home/devarmy/public_html/Web.config line 1)

Description: HTTP 500. Error processing request.

Stack Trace:

System.Configuration.ConfigurationErrorsException: Unrecognized attribute 'targetFramework'. (/home/devarmy/public_html/Web.config line 1)
  at System.Configuration.ConfigurationElement.DeserializeElement (System.Xml.XmlReader reader, Boolean serializeCollectionKey) [0x00000] in <filename unknown>:0 
  at System.Configuration.ConfigurationSection.DoDeserializeSection (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0 
  at System.Configuration.ConfigurationSection.DeserializeSection (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0 
  at System.Configuration.Configuration.GetSectionInstance (System.Configuration.SectionInfo config, Boolean createDefaultInstance) [0x00000] in <filename unknown>:0 
  at System.Configuration.ConfigurationSectionCollection.get_Item (System.String name) [0x00000] in <filename unknown>:0 
  at System.Configuration.Configuration.GetSection (System.String path) [0x00000] in <filename unknown>:0 
  at System.Web.Configuration.WebConfigurationManager.GetSection (System.String sectionName, System.String path, System.Web.HttpContext context) [0x00000] in <filename unknown>:0 
  at System.Web.Configuration.WebConfigurationManager.GetSection (System.String sectionName, System.String path) [0x00000] in <filename unknown>:0 
  at System.Web.Configuration.WebConfigurationManager.GetWebApplicationSection (System.String sectionName) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.get_CompilationConfig () [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.Build (System.Web.VirtualPath vp) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.GetCompiledType (System.Web.VirtualPath virtualPath) [0x00000] in <filename unknown>:0 
  at System.Web.Compilation.BuildManager.GetCompiledType (System.String virtualPath) [0x00000] in <filename unknown>:0 
  at System.Web.HttpApplicationFactory.InitType (System.Web.HttpContext context) [0x00000] in <filename unknown>:0 

答案1

“无法识别的属性‘targetFramework’”表示您的构建针对的是服务器不支持的框架。例如,如果服务器仅支持 <=3.5 并且您的构建针对 .Net 4.0,则会产生该错误。因此,首先要仔细检查您的 .Net 版本针对的是什么以及服务器支持的是什么版本。

答案2

您的应用程序是针对哪个版本的 MVC 编写的?Mono 目前仅支持 ASP.NET 1.1 和大部分 2.0 版本,因此如果您的应用程序针对更高的框架,则会出现问题。此外,Mono 尚不支持 MVC3,因此如果您正在使用它,则必须重新考虑。

另外,看看这里用于将 MVC 应用程序移植到 Mono。

相关内容