【问题标题】:Issues after migration of Asp.Net Core RC1 to RC2Asp.Net Core RC1 迁移到 RC2 后的问题
【发布时间】:2016-06-24 19:21:59
【问题描述】:

我们已将项目从 Asp.Net core RC1 迁移到 RC2。迁移后,我们在以下位置收到 2 个编译错误。

第一个问题在startup.cs

以下方法或属性之间的调用不明确:

public void ConfigureServices(IServiceCollection services)
{

...

services.AddIdentity<ApplicationUser, IdentityRole>()
       .AddEntityFrameworkStores<ApplicationDbContext>()
       .AddDefaultTokenProviders();
       
       
       ...
}

错误详情:

错误 CS0121 调用在以下方法或属性之间不明确:“Microsoft.Extensions.DependencyInjection.IdentityServiceCollectionExtensions.AddIdentity(Microsoft.Extensions.DependencyInjection.IServiceCollection)”和“Microsoft.Extensions.DependencyInjection.IdentityServiceCollectionExtensions .AddIdentity(Microsoft.Extensions.DependencyInjection.IServiceCollection)' Firebolt.SecurityService..NETCoreApp,Version=v1.0 C:\Krishnan\RSI\SourceCode\Bluesky Development\BlueSky Development\Firebolt.Security\src\ Firebolt.Security\Startup.cs 58 活动

第二期:

[Microsoft.Data.Entity.Infrastructure.DbContext(typeof(ApplicationDbContext))]
    [Migration("00000000000000_CreateIdentitySchema")]
    partial class CreateIdentitySchema
    {
        protected override void BuildTargetModel(Microsoft.EntityFrameworkCore.ModelBuilder modelBuilder)
        {
     ...
}

错误详情:

错误 CS0115 'CreateIdentitySchema.BuildTargetModel(ModelBuilder)':找不到合适的方法来覆盖 Firebolt.SecurityService..NETCoreApp,Version=v1.0 C:\Krishnan\RSI\SourceCode\Bluesky Development\BlueSky Development\Firebolt.Security \src\Firebolt.Security\Migrations\00000000000000_CreateIdentitySchema.Designer.cs 15 活动

这两个问题的解决方法是什么?

【问题讨论】:

  • 我的 start.cs 中的 AddMvc() 行出现类似错误,这是由于我的 project.json 中的 swashbuckle 版本不兼容。必须将其从 6.0.0-rc1-final 更新为 6.0.0-beta901

标签: asp.net-core


【解决方案1】:

我在使用 dot net core 2.0 进行迁移时也遇到了这个错误。希望这可以帮助某人。

错误 CS0115 'init.BuildTargetModel(ModelBuilder)': 找不到合适的方法来覆盖

在重构之后,我的迁移类被移到了一个新的命名空间。我已将它们从 MyApp.Migrations 移至 MyApp.Web.Migrations,而 dot net 不喜欢这样。

我将他们移回MyApp.Migrations,他们不再抱怨了。

【讨论】:

  • 不完全相同,但指出了问题所在。移动后 .Designer 文件没有选择命名空间更改。更新修复它
  • 你和我解决的问题是两个部分文件必须在同一个命名空间中。
【解决方案2】:

我已经找到了这两个问题的解决方案。我在这里发布它可能对其他人有用

第一期

错误 CS0121 调用在以下方法之间不明确或 特性: 'Microsoft.Extensions.DependencyInjection.IdentityServiceCollectionExtensions.AddIdentity(Microsoft.Extensions.DependencyInjection.IServiceCollection)' 和 'Microsoft.Extensions.DependencyInjection.IdentityServiceCollectionExtensions.AddIdentity(Microsoft.Extensions.DependencyInjection.IServiceCollection)' Firebolt.SecurityService..NETCoreApp,Version=v1.0

问题在于 Project.json 中的以下 2 个配置条目。我用以下 2 替换了现有条目,它解决了问题

 "Microsoft.AspNetCore.Identity": "1.0.0-rc2-final",
 "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0-rc2-final",

错误 CS0115“CreateIdentitySchema.BuildTargetModel(ModelBuilder)”:否 找到合适的方法 覆盖 Firebolt.SecurityService..NETCoreApp,Version=v1.0

在所有迁移相关的类中查找/替换现有的 using 命名空间

using Microsoft.Data.Entity with using Microsoft.EntityFrameworkCore

【讨论】:

    【解决方案3】:

    我有错误

    CS0115'CreateIdentitySchema.BuildTargetModel(ModelBuilder)': 找不到合适的方法来覆盖 Firebolt.SecurityService..NETCoreApp,Version=v1.0

    错误指向设计师 刚成立时,我不小心更改了迁移文件的名称(上图中的第一个文件)

    我终于返回了A,一切都在继续工作。

    【讨论】:

      【解决方案4】:

      我的解决方案与 @span 迁移从 .Web. 项目到 .Database. 项目的解决方案相同。但是我的迁移仍然在Web。它导致错误。遵循@span 解决方案,我只是更改了迁移的命名空间,它可以工作!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多