asp.net-mvc – 当ASP.NET 5(vNext)无法重定向绑定时,我该怎么办
我刚刚开始使用MVC 6.我安装了VS 2015并使用默认的ASP.NET 5预览MVC Web应用程序模板,在本地IIS下运行正常.
然后我尝试在these instructions之后用StructureMap切换出Default DI容器(注意它是一篇最近的文章).唯一的问题是我必须找出自己导入的名称空间(因为作者忽略了包含它们),这就是我所包含的内容. 我将StructureMapRegistration类和所有相关的类放在一个文件中,这里是使用. using Microsoft.Framework.DependencyInjection; using StructureMap; using StructureMap.Configuration.DSL.Expressions; 我将以下用法添加到Startup.cs文件中. using StructureMap; using StructureMap.Graph; using System.Reflection; 我对Startup.cs文件进行了以下编辑. // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // Add Entity Framework services to the services container. services.AddEntityFramework() .AddSqlServer() .AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"])); // Add Identity services to the services container. services.AddIdentity<ApplicationUser,IdentityRole>() .AddEntityFrameworkStores<ApplicationDbContext>() .AddDefaultTokenProviders(); // Configure the options for the authentication middleware. // You can add options for Google,Twitter and other middleware as shown below. // For more information see http://go.microsoft.com/fwlink/?LinkID=532715 services.Configure<FacebookAuthenticationOptions>(options => { options.AppId = Configuration["Authentication:Facebook:AppId"]; options.AppSecret = Configuration["Authentication:Facebook:AppSecret"]; }); services.Configure<MicrosoftAccountAuthenticationOptions>(options => { options.ClientId = Configuration["Authentication:MicrosoftAccount:ClientId"]; options.ClientSecret = Configuration["Authentication:MicrosoftAccount:ClientSecret"]; }); // Add MVC services to the services container. services.AddMvc(); //// Uncomment the following line to add Web API services which makes it easier to port Web API 2 controllers. //// You will also need to add the Microsoft.AspNet.Mvc.WebApiCompatShim package to the 'dependencies' section of project.json. //// services.AddWebApiConventions(); //// Register application services. //services.AddTransient<IEmailSender,AuthMessageSender>(); //services.AddTransient<ISmsSender,AuthMessageSender>(); var container = new Container(); container.Configure(x => { x.Scan(scanning => { scanning.Assembly(Assembly.GetExecutingAssembly()); scanning.TheCallingAssembly(); scanning.WithDefaultConventions(); }); //x.AddRegistry<WebsiteRegistry>(); }); // Our framework extension point container.Populate(services); }
using语句会抑制所有设计时编译错误,但是当我构建时,我会收到其他几个错误.
错误表明问题出在哪里 – 我需要对mscorlib 2.0.5.0的引用.但我已经在项目中引用了mscorlib 4.0.0.0. 在ASP.NET中的这一点<如图5所示,下一步通常是将一些绑定重定向添加到< bindingRedirect> web.config文件的一部分.但是,在ASP.NET 5中搜索如何执行此操作后,我遇到了this answer,这表明绑定重定向应该是“完全自动的”. 这是一个错误,还是我错过了配置中的一些步骤导致此错误? 组态
project.json { "webroot": "wwwroot","userSecretsId": "aspnet5-TestDI3-1665343b-5aa5-4d08-8596-a1a536223a19","version": "1.0.0-*","dependencies": { "EntityFramework.SqlServer": "7.0.0-beta5","EntityFramework.Commands": "7.0.0-beta5","Microsoft.AspNet.Mvc": "6.0.0-beta5","Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta5","Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta5","Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta5","Microsoft.AspNet.Authentication.Google": "1.0.0-beta5","Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta5","Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta5","Microsoft.AspNet.Diagnostics": "1.0.0-beta5","Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta5","Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta5","Microsoft.AspNet.Server.IIS": "1.0.0-beta5","Microsoft.AspNet.Server.WebListener": "1.0.0-beta5","Microsoft.AspNet.StaticFiles": "1.0.0-beta5","Microsoft.AspNet.Tooling.Razor": "1.0.0-beta5","Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta5","Microsoft.Framework.Configuration.Json": "1.0.0-beta5","Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta5","Microsoft.Framework.Logging": "1.0.0-beta5","Microsoft.Framework.Logging.Console": "1.0.0-beta5","Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta5","structuremap": "3.1.6.186" },"commands": { "web": "Microsoft.AspNet.Hosting --config hosting.ini","ef": "EntityFramework.Commands" },"frameworks": { "dnx451": { },"dnxcore50": { } },"exclude": [ "wwwroot","node_modules","bower_components" ],"publishExclude": [ "node_modules","bower_components","**.xproj","**.user","**.vspscc" ],"scripts": { "prepublish": [ "npm install","bower install","gulp clean","gulp min" ] } } 解决方法
感谢opiants,问题似乎与dnxcore50框架包含在项目中的事实有关.
"frameworks": { "dnx451": { },"dnxcore50": { } } 删除它解决了这个问题. "frameworks": { "dnx451": { } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 从ASP.Net MVC视图访问应用程序设置
- 详解ASP.NET Core 中的框架级依赖注入
- asp.net – 如何打包/发布PDF以进行部署?
- asp.net-mvc – asp.net mvc中的动态子域
- asp.net-mvc – ASP.NET MVC现在是“开源”.这是一件好事吗
- asp.net-mvc – ASP.NET MVC WebApi:没有为此对象定义的无
- asp.net – 从EF自动迁移切换到代码优先迁移
- 在ASP.NET MVC 5中创建对象时何时在C#中使用NEW关键字
- asp.net – 在Response.RedirectToRoute之后跳过页面执行的
- asp.net-mvc – DotNetOpenAuth简单演示,MVC和Razor