【发布时间】:2016-02-21 16:16:57
【问题描述】:
我在跑步:
enable-migrations -ContextProjectName CC.Data -StartUpProjectName CC.Web -ContextTypeName CC.Data.CcDataContext -ProjectName CC.Plugin.MyPlugin -Force -Verbose
这会在CC.Plugin.MyPlugin.Migrations 中创建名为Configuration.cs 的配置文件,但是当它完成时会抛出此错误:
迁移配置类型 'CC.Plugin.MyPlugin.Migrations.Configuration' 在 程序集'CC.Plugin.MyPlugin'。
我不明白它怎么找不到它,因为它只是添加到那里。 congif 文件如下所示:
namespace CC.Plugin.MyPlugin.Migrations
{
using System;
using System.Data.Entity;
using System.Data.Entity.Migrations;
using System.Linq;
internal sealed class Configuration : DbMigrationsConfiguration<CC.Data.CcDataContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
}
protected override void Seed(CC.Data.CcDataContext context)
{
// This method will be called after migrating to the latest version.
// You can use the DbSet<T>.AddOrUpdate() helper extension method
// to avoid creating duplicate seed data. E.g.
//
// context.People.AddOrUpdate(
// p => p.FullName,
// new Person { FullName = "Andrew Peters" },
// new Person { FullName = "Brice Lambson" },
// new Person { FullName = "Rowan Miller" }
// );
//
}
}
}
看起来不错。
有什么想法吗?
编辑:这似乎是在同一解决方案中链接来自项目的引用的问题。一旦我从解决方案链接中删除了这些引用,而是通过浏览完成并指向 DLL,它就开始工作了。
【问题讨论】:
-
这很奇怪...您是否尝试过清理和重建解决方案?在包管理器控制台中哪个项目被选为“默认项目”?
-
我已经清理和重建了很多次,尝试将
internal sealed更改为public(你永远不知道:))但没有运气。默认项目设置为我的CC.Plugin.MyPlugin项目。 -
我一直在玩这个,看起来在直接处理项目时(不是作为解决方案下其他项目组的一部分)我已经让它工作了。我觉得这很奇怪,但我会在知道更多信息后报告。
标签: c# entity-framework ef-code-first entity-framework-6