发布我的网站后,我收到了以下错误:
System.UnauthorizedAccessExceptionAccess to the path 'C:\inetpub\MySite\App_Data' is denied.
原来是因为它无法访问App_Data \ ASPNETDB.MDF。这是因为它不存在,因为我的网站不使用它。我检查了我的本地机器,并且有一个包含数据库的App_Data文件夹,但它不包含在我的VS中。但是,如果我将其删除,则在VS中运行该站点时会重新创建它。
一旦错误似乎自行清除,网站就可以正常运行,但每次部署时都会发生这种情况。
代码中的任何地方都没有引用它。如何/为什么在应用程序启动时创建它以及如何阻止它?
我使用SimpleMembership存储在SQL Server数据库中的所有数据。
答案 0 :(得分:1)
之前我遇到过这个问题。 当您要发布应用时,如果app_data文件夹为空,则不会复制到已发布的应用。所以在发布之前,将文件复制到app_data文件夹,然后发布你的应用... 或者您可以在代码中检查是否存在要创建:
var folder = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/");
if (!Directory.Exists(folder))
Directory.CreateDirectory(folder);
答案 1 :(得分:0)
尝试转到App_Data文件夹属性并添加具有读写权限的ASPNET用户
Access to the path 'c:\inetpub\wwwroot\myapp\App_Data' is denied