Подтвердить что ты не робот

Как разработать простой проект ASP.NET MVC без Visual Studio

Мне удалось разработать простой проект asp.net без vs. Может ли кто-то помочь мне сделать то же самое для asp.net mvc 3. Начиная с получения структуры ASP.NET MVC 3. Кажется, что мы больше не можем загружать сборки. Возможно ли, чтобы проект был скомпилирован "на лету" (я имею в виду без компиляции моего веб-приложения, но позволяя IIS делать это, это можно добиться с помощью обычного asp.net, поэтому я предполагаю, что это возможно с помощью структуры MVC)

спасибо Dave

4b9b3361

Ответ 1

Конечно, это довольно легко, всего несколько шагов после установки ASP.NET MVC 3.

  • Fire notepad.exe и создайте файл HomeController.cs (конечно, если вы не хотите использовать блокнот, вы также можете сделать это, используя copy con HomeController.cs в командной строке, таким образом вы будете ближе к металлу):

    namespace MyApplication
    {
        using System.Web.Mvc;
    
        public class HomeController : Controller
        {
            public ActionResult Index()
            {
                return View();
            }
        }
    }
    
  • Скомпилируйте в командной строке (настройте папки в соответствии с вашими)

    c:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /t:library /out:MyApplication.dll /r:"C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll" HomeController.cs
    
  • Создайте папку c:\MyApplication

  • Создайте папку c:\MyApplication\bin и скопируйте MyApplication.dll в эту папку bin.
  • Внутри c:\MyApplication\web.config:

    <?xml version="1.0"?>
    <configuration>
      <appSettings>
        <add key="webpages:Version" value="1.0.0.0"/>
        <add key="ClientValidationEnabled" value="true"/>
        <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
      </appSettings>
    
      <system.web>
        <compilation debug="true" targetFramework="4.0">
          <assemblies>
            <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
          </assemblies>
        </compilation>
    
        <pages>
          <namespaces>
            <add namespace="System.Web.Helpers" />
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Routing" />
            <add namespace="System.Web.WebPages"/>
          </namespaces>
        </pages>
      </system.web>
    
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
        <modules runAllManagedModulesForAllRequests="true"/>
      </system.webServer>
    
    </configuration>
    
  • Внутри c:\MyApplication\Views\web.config:

    <?xml version="1.0"?>
    
    <configuration>
      <configSections>
        <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
          <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
          <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
        </sectionGroup>
      </configSections>
    
      <system.web.webPages.razor>
        <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <pages pageBaseType="System.Web.Mvc.WebViewPage">
          <namespaces>
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Routing" />
          </namespaces>
        </pages>
      </system.web.webPages.razor>
    
      <appSettings>
        <add key="webpages:Enabled" value="false" />
      </appSettings>
    
      <system.web>
        <httpHandlers>
          <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
        </httpHandlers>
    
        <pages
            validateRequest="false"
            pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
            pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
            userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
          <controls>
            <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
          </controls>
        </pages>
      </system.web>
    
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
    
        <handlers>
          <remove name="BlockViewHandler"/>
          <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
        </handlers>
      </system.webServer>
    </configuration>
    
  • Внутри c:\MyApplication\Global.asax:

    <%@ Application Language="C#" %>
    <%@ Import Namespace="System.Web.Mvc" %>
    <%@ Import Namespace="System.Web.Routing" %>
    <script runat="server">
    
    static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
        routes.MapRoute(
            "Default",
            "{controller}/{action}/{id}",
            new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
    
    void Application_Start()
    {
        RegisterRoutes(RouteTable.Routes);
    }
    </script>
    
  • Внутри c:\MyApplication\Views\Home\Index.cshtml:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    
    <body>
        Hello Word
    </body>
    </html>
    
  • Теперь у вас есть все необходимые файлы для приложения ASP.NET MVC 3. Последний шаг - разместить его на веб-сервере и запустить его.


Заключение: если вы не страдаете серьезным повреждением мозга, вы никогда этого не сделаете и просто скачайте Visual Studio 2010 Express и начните разработку ASP Приложения .NET MVC 3, следуя инструкциям на веб-сайте ASP.NET MVC.

Ответ 2

Не могли бы вы объяснить причину, по которой вы не хотите использовать визуальную студию? Есть бесплатные версии, которые вполне способны в качестве IDE.

Если вы предпочитаете учиться в гораздо большем текстовом редакторе, вы также можете использовать Microsoft WebMatrix для их создания на локальном компьютере.

Самый простой способ установки Webmatrix или Visual Studio Web Developer Express, вероятно, с помощью установщика веб-платформы.