Asp.net mvc 4 VS2012实体框架错误

Asp.net mvc 4 VS2012实体框架错误,asp.net-mvc-4,visual-studio-2012,entity-framework-5,Asp.net Mvc 4,Visual Studio 2012,Entity Framework 5,我有一个包含3个项目的MCV4.5解决方案。场地、测试和模型。场地和模型参考EF 5.0。我已经搜索了所有解决方案文件,以查找对4.3.1的引用,结果是空的。我已删除并重新创建了对EF 5.0的所有引用 我有一个HomeControllerTest.cs,运行正常。 将此用作测试 [TestMethod] public void Index() { // Arrange HomeController controller = new Hom

我有一个包含3个项目的MCV4.5解决方案。场地、测试和模型。场地和模型参考EF 5.0。我已经搜索了所有解决方案文件,以查找对4.3.1的引用,结果是空的。我已删除并重新创建了对EF 5.0的所有引用

我有一个HomeControllerTest.cs,运行正常。 将此用作测试

    [TestMethod]
    public void Index()
    {
        // Arrange
        HomeController controller = new HomeController();

        // Act
        ViewResult result = controller.Index() as ViewResult;

        // Assert
        Assert.AreEqual("Modify this template to jump-start your ASP.NET MVC application.", result.ViewBag.Message);
    }
我创建了一个新的LOBControllerTest.cs来支持站点项目中的LOBController.cs。使用以下测试,此测试类失败,错误为“无法加载文件或程序集”EntityFramework,版本=4.3.1.0

    [TestMethod]
    public void Index()
    {
        // Arrange
        LOBController controller = new LOBController();

        // Act
        ViewResult result = controller.Index() as ViewResult;

        // Assert
        Assert.IsNotNull(result);

    }
如果我更改上面的测试以执行HomeController,如下所示,它运行正常

    [TestMethod]
    public void Index()
    {
        // Arrange
        HomeController controller = new HomeController();

        // Act
        ViewResult result = controller.Index() as ViewResult;

        // Assert
        Assert.IsNotNull(result);

    }
这是在Windows Server 2012的干净安装上全新干净安装的VS2012

有什么想法吗


更新时,我忘了提到我也在使用ReSharper 7.1。我想知道是否有一个设置,我错过了

我发现RS7 stackoverflow.com/questions/12357696/…有一个记录在案的bug,因此我禁用了RS7测试套件,并尝试直接从VS2012接口运行它,结果相同。所以它不是孤立于RS7的

更新:

这里有一个链接,任何人谁想看看这个项目。这没什么特别的,只是一个模板项目。我们正在开始一个新的项目,而我是MVC和测试驱动开发的新手,所以我正试图抢先一步

更新日期:9/21/2012

我相信我找到了。与开发人员交谈后,我发现Wholesale.Admin中的Repositories文件夹引用了一个NUGet代码包。我检查了,发现最新版本依赖于EF 4.3.1

更新:


这已得到证实。从站点下载并升级解决方案后,我不再收到错误。我得到另一个错误,但4.3.1不再是一个问题。希望开发人员能更新他的NuGet解决方案,他已经7个月没有更新了。

显然,您的LOBController在某个地方引用了EF 4.3。检查包含此控制器的类库中的引用,或者检查仍在bin文件夹或GAC中的dll


希望这有帮助

在与开发人员交谈后,他们将原始批发模板解决方案放在了一起,我发现批发.Admin中的Repositories文件夹引用了一个NUGet代码包。我检查了软件包站点,发现最新版本依赖于EF 4.3.1。我下载了源代码并参考EF 5.0重新编译,这清除了4.3.1错误

我知道您的来源,但我已经走上了这条道路。此VM上从未安装4.3。这是一个干净的安装,解决方案中没有对4.3.1的引用。更新,我忘了提到我也在使用ReSharper 7.1。我想知道是否有我缺少的设置。请使用问题上的编辑链接添加其他信息。“发布答案”按钮只能用于问题的完整答案。这不会提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论。