无法创建新控制器 - 拒绝访问路径

时间:2014-02-23 23:09:35

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

这可能看起来像是一个重复的问题,但外观不同,修复对我不起作用。

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

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

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

  

运行所选代码生成器时出错:'访问权限   路径   'C:\ Users \用户名为myUsername \应用程序数据\本地\ TEMP \ SOMERANDOMGUID \ System.Web.Mvc.dll程序'   被拒绝'

VS 2013中是否存在某种错误?我无法弄清楚这意味着什么,重启VS2013没有帮助。以下是我迄今为止尝试过的一些事情。

  1. 以管理员身份启动VS
  2. 为Local \ Temp文件夹
  3. 提供“Everyone”读/写权限
  4. 重新启动计算机
  5. 清理项目并从bin文件夹中删除项目
  6. 卸载/重新安装System.Web.MVC(我也收到了EntityFramework.dll的错误)
  7. 以下是我的模特

    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; }
        }
    }
    

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

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我和Mircosoft.Web.Infrastructure.dll有类似的问题,我使用以下package-manager命令解决了这个问题:

update-package -reinstall Microsoft.Web.Infrastructure

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

有关详情,请点击此处: http://docs.nuget.org/docs/workflows/reinstalling-packages