GitHub提交错误:权限被拒绝致命:无法处理路径〜/ App_Data / aspnet-MyProject.mdf
我试图使用Microsoft Visual Studio 2017中的GitHub集成提交我的ASP.Net MVC项目的更新。
我正在开发Code-First Migrations。 在我上次成功提交之后,我在Visual Studio中的程序包管理器控制台上执行了以下命令:
PM> Enable-Migrations -ContextType ApplicationDbContext PM> Add-Migration AccountNumberChanges PM> Update-Database -Verbose
完成后,我尝试执行提交,但是我收到以下错误:
Git failed with a fatal error. error: open("MyProject/App_Data/aspnet-MyProject- 20171110110346.mdf"): Permission denied fatal: Unable to process path MyProject/App_Data/aspnet- MyProject-20171110110346.mdf
上面的命令已将.mdf文件添加到项目的App_Data文件夹中。
你不应该将mdf
文件提交给git – 它们是数据库的数据文件。 git
可能会抱怨,因为该文件正在使用中,并且需要读取权限才能将数据发送到存储库。 最简单的解决方案是使用git rm
将其从git中删除。 例如,在命令行:
git rm MyProject/App_Data/aspnet- MyProject-20171110110346.mdf
如果你仍想将你的mdf
文件添加到git。 我也遇到了一些麻烦,所以我发现的是:
如果您正在使用Visual Studio中的服务器资源管理器 ,只需在“服务器资源管理器”窗口中右键单击“连接”名称 ,然后单击“关闭连接” 。
可能这将有助于将来的某个人。 问题是您仍然将文件连接到服务器资源管理器中的本地数据库,并且该文件具有正在使用的句柄,这会阻止提交发生。
我实际做的是
-
右键单击本地Db或与文件关联的数据库
-
选择Detach选项,以便它可以从.mdf或.ldf文件中释放任何句柄。
PS:除了在提交时间范围内,您可以随时附加数据库。
分离数据库后,提交工作没有任何问题。 试试这个,它大部分时间都有效。