我的一个 mvc 项目引用了 base 类库,这个 base 类库中主要是 ef(code first)、business 和 tools,现在我运行 mvc 项目的时候,抛出了一个需要进行数据库迁移的异常。
0. 我查看了数据库链接字符串,没有问题。
1. 我查看了 Migrations 目录(我是手动管理迁移的),和数据库的"__MigrationHistory",最新的迁移文件名称是一样的
2. 我还有一个 api 项目也引用了这个 base 类库,这个项目运行良好。
3. 我尝试执行迁移,我执行了 add-migration something 后,名为 something 的迁移文件的 up 和 down 方法都是空的,执行 update-database 之后,迁移虽然更新到数据库了,但是 mvc 项目依然会抛出需要执行迁移的异常。
4. 我认为可能 bin 目录中的文件没有更新,于是我尝试清理项目,并且手动删除了 bin 文件,再次执行调试的结果是一样的。
5. 我重启了电脑,再次运行,一样的结果。
6. 我认为可能是 iis express 运行的目录不是项目所在的目录
6.1 我查看了 iis express 的配置文件,其中没有发现我运行的站点的配置。
6.2 我在运行站点时,删除了项目目录 bin 文件夹中的内容,结果站点抛出了没有找到 dll 的错误,可以确定 iis express 运行站点的目录,确实是我的项目目录。
0. 我查看了数据库链接字符串,没有问题。
1. 我查看了 Migrations 目录(我是手动管理迁移的),和数据库的"__MigrationHistory",最新的迁移文件名称是一样的
2. 我还有一个 api 项目也引用了这个 base 类库,这个项目运行良好。
3. 我尝试执行迁移,我执行了 add-migration something 后,名为 something 的迁移文件的 up 和 down 方法都是空的,执行 update-database 之后,迁移虽然更新到数据库了,但是 mvc 项目依然会抛出需要执行迁移的异常。
4. 我认为可能 bin 目录中的文件没有更新,于是我尝试清理项目,并且手动删除了 bin 文件,再次执行调试的结果是一样的。
5. 我重启了电脑,再次运行,一样的结果。
6. 我认为可能是 iis express 运行的目录不是项目所在的目录
6.1 我查看了 iis express 的配置文件,其中没有发现我运行的站点的配置。
6.2 我在运行站点时,删除了项目目录 bin 文件夹中的内容,结果站点抛出了没有找到 dll 的错误,可以确定 iis express 运行站点的目录,确实是我的项目目录。
