我有一个测试项目引用另一个项目,该项目又引用包含我的Entity Framework 5.0文件(edmx)的第三个项目。我发现我可以直接从Visual Studio运行数据库驱动的单元测试,但是当我从mstest运行时,我得到以下错误:
System.Data.Entity.Infrastructure.UnintentionalCodeFirstException: 使用数据库优先和模型的T4模板生成的代码 如果在Code First模式下使用,则第一次开发可能无法正常工作。 要继续使用Database First或Model First,请确保实体 框架连接字符串在配置文件中指定 执行申请。
我有非数据库连接单元测试,运行正常。我摆弄了各种app.config EF连接字符串,它们似乎没问题(每个测试在Visual Studio上运行正常)。问题是当我从桌面或构建服务器上的命令行运行mstest时。这是我使用的命令:
MSTest.exe / nologo / searchpathroot:“\ Binaries” / resultsfileroot: “\ TestResults” /testcontainer:"\Binaries\driver.orderedtest” /testcontainer:"\Binaries\EF.DataAccess.dll” /发布: “HTTP://” / publishbuild:“vstfs:/// Build / Build / 99”/ teamproject:“ProjectName” / platform:“任何CPU”/ flavor:“Debug”/ noisolation / detail:errormessage / detail:errorstacktrace / detail:stderr
我在测试项目中引用了所有dll,如下所述:Entity Framework custom tool does not correctly embed or load the model as resource files
我已经连续几天这样了,而且我认为这是一个EF 5.0错误,但根据连接链接,这应该是固定的,但它似乎不是情况下。