Назад | Перейти на главную страницу

Как опубликовать приложение 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, но это тоже не сработало.

Утилита поиска по форуму хоста несколько слабая, поэтому я использую google для поиска по их форуму: 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 автоматически создает папку для веб-сайта с именем Default Web Site в c: \ Inetpub \ wwwroot \, но вы не должны чувствовать себя обязанными помещать туда файлы приложения. Очень часто приложения размещаются на другом физическом диске, отличном от операционной системы (например, в e: \ sites \ 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 

Для какой версии MVC написано ваше приложение? Mono в настоящее время поддерживает только ASP.NET 1.1 и большую часть 2.0, поэтому, если ваше приложение ориентировано на более высокую структуру, у него могут возникнуть проблемы. Кроме того, Mono еще не поддерживает MVC3, поэтому, если вы его используете, вам придется все переосмыслить.

Также посмотрите Вот для переноса приложения MVC в Mono.

«Нераспознанный атрибут targetFramework» означает, что ваша сборка нацелена на платформу, которая не поддерживается сервером. Например, если сервер поддерживает только <= 3.5 и ваша сборка нацелена на .Net 4.0, это вызовет эту ошибку. Итак, во-первых, дважды проверьте, на что нацелена ваша версия .Net и какую версию поддерживает сервер.