我自愿成为我的好友的asp.net项目的代码审核人。我认为,凭借我的C#知识,我应该能够找到足够的基础知识,尽管我对asp.net的结构和构建知之甚少。我假设从NuGet安装的所有大量软件包来自使用MVC软件包版本5.2.3。我的一个建议是使用DI并将所有数据移动到数据项目中,这样我们就不必依赖EF。我个人想举例说明如何做一些事情,所以我开始研究如何将DI添加到MVC 5.我发现的两个或三个例子中提到了几行代码添加到启动类,但该方法并不是匹配,它让我循环。这是有问题的课程
using Microsoft.Owin;
using Owin;
[assembly: OwinStartupAttribute(typeof(PermitChecker.Startup))]
namespace PermitChecker
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
//ConfigureAuth(app);
}
}
}
vs2015抱怨启动时partial
,因为没有多个Startup
类。但是我将这个类别与这个关于DI(Blog Post)的博客进行了比较,他说我的ConfigureServices
方法看起来像这样,但正如你在上面所看到的,我没有这种方法。< / p>
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSingleton<Data>();
}
这就是我的问题,为什么不是我?该博客文章是针对Mvc 5的,我认为5.2.3有资格获得Mvc 5,所以我只是感到困惑。很抱歉这样一个基本问题,但网络开发根本不是我的力量。如果它有帮助,这里列出的包。
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr" version="3.4.1.9004" targetFramework="net452" />
<package id="bootstrap" version="3.0.0" targetFramework="net452" />
<package id="EntityFramework" version="6.1.3" targetFramework="net452" />
<package id="jQuery" version="1.10.2" targetFramework="net452" />
<package id="jQuery.Validation" version="1.11.1" targetFramework="net452" />
<package id="Mandrill.net" version="2.2.12" targetFramework="net452" />
<package id="Microsoft.AspNet.Identity.Core" version="2.2.1" targetFramework="net452" />
<package id="Microsoft.AspNet.Identity.EntityFramework" version="2.2.1" targetFramework="net452" />
<package id="Microsoft.AspNet.Identity.Owin" version="2.2.1" targetFramework="net452" />
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net452" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net452" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net452" />
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net452" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net452" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net452" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net452" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net452" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net452" />
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net452" />
<package id="Microsoft.Net.Compilers" version="1.0.0" targetFramework="net452" developmentDependency="true" />
<package id="Microsoft.Owin" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Owin.Security" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Owin.Security.Cookies" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Owin.Security.Facebook" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Owin.Security.Google" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Owin.Security.MicrosoftAccount" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Owin.Security.OAuth" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Owin.Security.Twitter" version="3.0.1" targetFramework="net452" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net452" />
<package id="Modernizr" version="2.6.2" targetFramework="net452" />
<package id="Newtonsoft.Json" version="8.0.3" targetFramework="net452" />
<package id="Owin" version="1.0" targetFramework="net452" />
<package id="Respond" version="1.2.0" targetFramework="net452" />
<package id="Sendgrid" version="6.3.4" targetFramework="net452" />
<package id="SendGrid.SmtpApi" version="1.3.1" targetFramework="net452" />
<package id="WebGrease" version="1.5.2" targetFramework="net452" />
</packages>
答案 0 :(得分:1)
有一个新版本的ASP.NET称为 ASP.NET Core 1.0 (以前称为ASP.NET 5 / vNext)。这个新版本使用 MVC 6 ,并且是您链接到的博客文章中描述的版本。
旧/当前版本使用 MVC 5 。这是您的项目正在使用的。
Visual Studio 2015支持这两种项目类型。了解您正在使用的版本的一种快捷方法是在Web项目的根目录中查找Web.config
文件。如果你没有,那么你就是新版本。