哪个 NuGet 包会在 Views 文件夹中创建 web.config?

Law*_*nti 3 asp.net-mvc app-config asp.net-mvc-5

我的项目缺少文件夹web.config中的文件Views。以下是我制作该项目所采取的步骤。

  • 创建一个空的 MVC 项目并安装下面列出的包。
  • 创建了控制器和视图。该视图是通过右键单击操作名称并从菜单中选择“添加视图...”来创建的。
  • 尝试运行项目,但出现错误CS0103: The name 'ViewBag' does not exist in the current context

我收到此错误是因为web.config我的文件夹中缺少该Views文件。由于web.config包含很多版本号、令牌等......,我的问题是:

  1. 为什么我安装软件包时没有添加这个?
  2. 这些包是否创建了我可以用来制作文件的模板web.config

我安装的软件包:

Antlr   3.4.1.9004
bootstrap   3.3.4
jQuery  1.9.1
Microsoft.AspNet.Mvc    5.2.3
Microsoft.AspNet.Razor  3.2.3
Microsoft.AspNet.Web.Optimi...  1.1.3
Microsoft.AspNet.WebPages   3.2.3
Microsoft.Web.Infrastructure    1.0.0.0
Modernizr   2.6.2
Newtonsoft.Json 5.0.4
Ninject 3.2.2.0
Ninject.MVC5    3.2.1.0
Ninject.Web.Common  3.2.0.0
Ninject.Web.Common.WebHost  3.2.0.0
WebActivatorEx  2
WebGrease   1.5.2
Run Code Online (Sandbox Code Playgroud)

mat*_*gic 5

问题应该看起来像这样,正如评论中所说,它是项目模板的一部分,而不是包

<?xml version="1.0"?>

<configuration>
  <configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.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=5.2.2.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.webServer>
    <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)

更新

上面是 Views 文件夹中的默认配置文件,当使用 Visual Studio 2013 创建新的 Web 项目时,它会添加到新的 Web 项目中。它使用

  • 微软.AspNet.Mvc 5.2.2
  • 微软.AspNet.Razor 3.2.2
  • 微软.AspNet.WebPages 3.2.2

  • 我想接受您的回答,但它没有解释您如何获得您发布的配置。如果有人在一年后看到这个,它将没有用,因为他们不知道他们的版本号是否正确。更新它,我会接受它。 (2认同)