【问题标题】:Can't create new controllers - Access to the path is denied无法创建新控制器 - 拒绝访问路径
【发布时间】:2014-03-25 10:04:00
【问题描述】:

这似乎是一个重复的问题,但结果不同,修复对我不起作用。

我正在使用 Visual Studio Professional 2013。这是我第一个使用 VS2013 的项目,到目前为止我一直在使用 VS2012。

我正在尝试在我的 ASP.NET MVC 应用程序中创建一个新控制器。我首先使用带有代码的 Entity Framework 5 (.NET 4.5)。我希望 Visual Studio 为我创建模板。

但是,每次我尝试创建控制器时,都会收到以下错误消息:

运行所选代码生成器时出错:“访问 路径 'C:\Users\MYUSERNAME\AppData\Local\Temp\SOMERANDOMGUID\System.Web.Mvc.dll' 被拒绝'

VS 2013 中是否存在某种错误?我不知道这意味着什么,重新启动 VS2013 也无济于事。以下是我迄今为止尝试过的一些事情。

  1. 以管理员身份启动 VS
  2. 授予“所有人”对 Local\Temp 文件夹的读/写权限
  3. 重新启动计算机
  4. 清理项目并从 bin 文件夹中删除项目
  5. 卸载/重新安装 System.Web.MVC(我也收到了 EntityFramework.dll 的此错误)

这是我的模型

namespace TestApp.Models
{
    public class Passenger
    {
        public int ID { get; set; }
        public string LastName { get; set; }
        public string FirstName { get; set; }
    }

    public class Ship
    {
        public int ID { get; set; }
        public string ShipName{ get; set; }
        public ICollection<Passenger> Passenger { get; set; }
    }
}

当我尝试创建控制器时,一切都很简单。我填写了我的模型和上下文,然后单击添加。

当我单击“添加”时,我得到了对路径的讨厌的访问被拒绝错误

对此的任何帮助将不胜感激。

【问题讨论】:

  • 尝试禁用您的防病毒程序。
  • 将 entityframework 更新到最新版本 6.0 并尝试。
  • 尝试一次添加具有所有权限的每个用户,以避免与权限相关的问题。此外,使用应用程序错误事件日志查看器重新检查是否遇到问题

标签: c# asp.net asp.net-mvc entity-framework


【解决方案1】:

我遇到了与 Mircosoft.Web.Infrastructure.dll 类似的问题,我使用以下包管理器命令解决了:

update-package -reinstall Microsoft.Web.Infrastructure

它基本上是对软件包进行卸载/安装。注意:如果您尝试从 NuGet GUI 进行手动卸载,由于依赖关系,它不会允许您使用某些包,因此我建议使用控制台和上面列出的命令。

更多信息请看这里: http://docs.nuget.org/docs/workflows/reinstalling-packages

【讨论】:

    【解决方案2】:

    检查并查看该库是否被正在运行的进程锁定。如果是,您应该能够终止该进程,删除该文件夹(因为它是一个临时文件夹),然后重新开始。也许 *.svchost.exe 正在按住它。这似乎是对锁定文件的 Windows 文件系统默认错误响应。

    【讨论】:

      猜你喜欢
      • 2011-10-31
      • 2017-07-29
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-20
      • 2019-01-31
      相关资源
      最近更新 更多