迁移时拒绝访问 ContextModelSnapshot
Access denied to ContextModelSnapshot while migrating
我正在使用 EF Core 2.0 在我的 ASP.NET 核心项目中添加迁移。
我 运行 我的包管理器控制台中的“Add-Migration”migrationName“命令。
迁移已成功添加到我的迁移文件夹中,但是,在尝试更新快照时出现此错误:
Access to the path 'C:\path\to\snapshot\DbContextModelSnapshot.cs' is denied.
现在我的迁移文件夹中有一个新的迁移,但有一个旧的快照,因为它目前无法更新。
迁移保存在与快照相同的文件夹中,所有用户都可以 read/write 访问该文件夹。
我该如何解决这个问题?
我猜:
您的解决方案在 TFS 源代码管理下,带有服务器工作区。
在您最初签入代码后,文件变为 read-only。
似乎 PM 不会自动将文件检出(或添加迁移文件)到源代码管理。所以为了解决这个问题:
在 运行 命令之前,检查快照,在 运行 迁移之后将新生成的文件添加到源代码管理。
我遇到过同样的情况。
Access to the path 'C:\repos\ProjectName\Migrations\ProjectNameDbContextModelSnapshot.cs' is denied.
只需用 Windows 资源管理器右键单击文件 projectDbContextModelSnapshot.cs,看到有只读标志,然后删除此复选框。问题已解决。
我正在使用 EF Core 2.0 在我的 ASP.NET 核心项目中添加迁移。 我 运行 我的包管理器控制台中的“Add-Migration”migrationName“命令。 迁移已成功添加到我的迁移文件夹中,但是,在尝试更新快照时出现此错误:
Access to the path 'C:\path\to\snapshot\DbContextModelSnapshot.cs' is denied.
现在我的迁移文件夹中有一个新的迁移,但有一个旧的快照,因为它目前无法更新。 迁移保存在与快照相同的文件夹中,所有用户都可以 read/write 访问该文件夹。
我该如何解决这个问题?
我猜: 您的解决方案在 TFS 源代码管理下,带有服务器工作区。 在您最初签入代码后,文件变为 read-only。 似乎 PM 不会自动将文件检出(或添加迁移文件)到源代码管理。所以为了解决这个问题: 在 运行 命令之前,检查快照,在 运行 迁移之后将新生成的文件添加到源代码管理。
我遇到过同样的情况。
Access to the path 'C:\repos\ProjectName\Migrations\ProjectNameDbContextModelSnapshot.cs' is denied.
只需用 Windows 资源管理器右键单击文件 projectDbContextModelSnapshot.cs,看到有只读标志,然后删除此复选框。问题已解决。