如何在没有Visual Studio的情况下开发一个简单的ASP.NET MVC项目

Dav*_*ave 28 asp.net-mvc

我已经能够开发一个简单的asp.net项目而没有可以有人帮我做同样的asp.net mvc 3.从获得ASP.NET MVC 3框架开始.似乎我们不能再下载组件了.是否可以动态编译项目(我的意思是不编译我的Web应用程序,但让IIS这样做,有可能通过常规的asp.net实现这一点,所以我认为可以使用MVC框架)

Thx Dave

Dar*_*rov 25

当然,这很简单,安装ASP.NET MVC 3后只需几步.

  1. 启动notepad.exe并创建一个HomeController.cs文件(当然如果您不想使用记事本,也可以通过copy con HomeController.cs在命令提示符下使用命令来执行此操作,这样您将更接近金属):

    namespace MyApplication
    {
        using System.Web.Mvc;
    
        public class HomeController : Controller
        {
            public ActionResult Index()
            {
                return View();
            }
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在命令提示符上编译(调整文件夹以匹配您的文件夹)

    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
    
    Run Code Online (Sandbox Code Playgroud)
  3. 创建一个文件夹 c:\MyApplication

  4. 创建一个文件夹c:\MyApplication\bin并复制MyApplication.dll到此bin文件夹.
  5. 内部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>
    
    Run Code Online (Sandbox Code Playgroud)
  6. 内部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>
    
    Run Code Online (Sandbox Code Playgroud)
  7. 内部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>
    
    Run Code Online (Sandbox Code Playgroud)
  8. 内部c:\MyApplication\Views\Home\Index.cshtml:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    
    <body>
        Hello Word
    </body>
    </html>
    
    Run Code Online (Sandbox Code Playgroud)
  9. 现在,您拥有ASP.NET MVC 3应用程序的所有必需文件.最后一步是将其托管在Web服务器上并运行它.


结论:除非您遭受严重的脑损伤,否则您将永远不会这样做,只需下载Visual Studio 2010 Express并按照ASP.NET MVC网站上的教程开始开发ASP.NET MVC 3应用程序.

  • 脑损伤.Teehehehe.我的意思是,你可能也想在紧急情况下这样做,你知道,当你的IDE关闭或什么的时候.:) (4认同)