同一个问题上有很多帖子。
问题: 我正在使用Entity Framework 6.1.3开发C#控制台应用程序。代码优先。
直到上周,我在我的Windows 7机器和VS 2013上运行,而且我正在进行添加迁移。
现在我有一台新机器(Lenovo),在x64 Windows 10机器上运行Visual Studio 2015社区版。 我再也无法添加迁移(在相同的代码库上......干净的github克隆)。
从PM控制台运行添加迁移会产生以下错误:
PM> add-migration test2
System.BadImageFormatException: Could not load file or assembly 'XXXX' or one of its dependencies. An attempt was made to load a program with an incorrect format.
File name: 'XXXX'
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) ...
我在这个解决方案中有几个项目。我已确认:
1)所有项目的属性都显示为x64。
2)它们都以.NET 4.5为目标
3)Build > Configuration Manager
显示所有"任何CPU"。
4)选中Tools > Options > Builds
,发现与x86版本无关。
5)在Windows资源管理器中搜索文本" x86"我的树中 ANYWHERE 。什么都没找到。
关于这个主题的所有帖子(以及其中有很多帖子)指出的问题是某些文件正在编译为32位而启动项目是64.我不确定在哪里检查这个除了我的解决方案中所有项目的属性之外,这不是我的问题。所以我无法帮助,但我认为在这个新的VS2015社区版中还有其他一些我没有看到的设置?
解决方案编译时没有错误并且运行但我无法添加迁移。
真的很感激任何帮助。我已经花了一天时间。我已经尝试编辑注册表以添加Fusion的密钥以启用更多日志记录并重新启动VS但我没有看到日志记录有任何变化。
由于 -Ed