【问题标题】:How to develop a simple ASP.NET MVC project without Visual Studio如何在没有 Visual Studio 的情况下开发简单的 ASP.NET MVC 项目
【发布时间】:2017-05-14 23:29:19
【问题描述】:

我已经能够在没有 vs 的情况下开发一个简单的 asp.net 项目。有人可以帮我为 asp.net mvc 3 做同样的事情。从获取 ASP.NET MVC 3 框架开始。看来我们不能再下载程序集了。是否可以即时编译项目(我的意思是不编译我的 Web 应用程序但让 IIS 这样做,可以使用常规的 asp.net 来实现这一点,所以我认为使用 MVC 框架可以实现)

谢谢 戴夫

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    当然,这很简单,安装 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();
              }
          }
      }
      
    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
      
    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>
      
    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>
      
    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>
      
    8. 内部c:\MyApplication\Views\Home\Index.cshtml

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


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

    【讨论】:

    • 脑损伤。嘻嘻嘻。我的意思是,你也想在紧急情况下这样做,你知道,当你的 IDE 出现故障时。 :)
    • @darin: 似乎是我想要的。你知道我们如何下载 asp.net mvc 3 库吗?
    • @Darin:很多谢谢,会看看你的代码,但使用和适应似乎很容易。
    • 但是如何运行所有这些文件?你如何启动网络服务器?
    【解决方案2】:

    你能给出一个你不想使用 Visual Studio 的理由吗?有一些免费版本可以作为 IDE。

    如果您希望学习更多的文本编辑器体验,您也可以使用Microsoft WebMatrix 在本地计算机上创建它们。

    安装 Webmatrix 或 Visual Studio Web Developer Express 的最简单方法可能是使用 Web Platform Installer

    【讨论】:

    • 有一点我想向金属学习,这一直是我学习的方式。自动化环境是为了提高生产力,但往往会隐藏底层技术的优势。我曾尝试安装 web express 版本,但似乎是 30 天试用版,需要注册一些 hotmail 帐户,我不想创建一个只是为了测试。这些是主要原因。
    • 我同意戴夫的观点。这样我学得更好。所有这些“为你而建”的东西意味着我不能很快掌握基本概念。
    • 我也同意戴夫和格雷厄姆关于“从头开始”学习的好处。此外,您可能会发现自己处于无法使用 Visual Studio 的环境中,并且由于许可/业务限制,无法使用免费版本。
    猜你喜欢
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    相关资源
    最近更新 更多