【发布时间】:2012-11-02 19:53:11
【问题描述】:
安装 Vs 2012 后,我尝试先添加一个实体模型数据库。 T4 模板如何无法构建。
我在尝试调试时遇到这些错误。
错误 1 - 加载程序集时出现问题 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll' 引发以下异常:System.BadImageFormatException: 无法加载文件或程序集 'file:///C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll' 或其依赖项之一。试图加载一个程序 格式不正确。文件名: 'file:///C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll' 在 System.Reflection.RuntimeAssembly._nLoad(AssemblyName 文件名, 字符串 codeBase、证据 assemblySecurity、RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean for Introspection, Boolean 抑制安全检查)在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,证据 assemblySecurity,RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean for Introspection, Boolean 抑制安全检查)在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,证据 assemblySecurity,RuntimeAssembly reqAssembly, StackCrawlMark& stackMark,布尔 throwOnFileNotFound,布尔 forIntrospection, Boolean suppressSecurityChecks) 在 System.Reflection.RuntimeAssembly.InternalLoadFrom(字符串 assemblyFile,证据 securityEvidence,Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean for Introspection, Boolean suppressSecurityChecks、StackCrawlMark 和 stackMark)在 System.Reflection.Assembly.LoadFrom(String assemblyFile) 在 Microsoft.VisualStudio.TextTemplating.TransformationRunner.AttemptAssemblyLoad(字符串 组件名称)
=== 预绑定状态信息 === LOG: User = MANNVIT\Ole LOG: Where-ref 绑定。位置 = C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll 日志:Appbase = file:///C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/ LOG:初始 PrivatePath = NULL 调用程序集:(未知)。 === LOG:此绑定在 LoadFrom 加载上下文中开始。警告:将不会在 LoadFrom 上下文中探测本机图像。本机图像只会 在默认加载上下文中进行探测,例如使用 Assembly.Load()。日志:没有 找到应用程序配置文件。 LOG:使用主机配置 文件:LOG:使用来自的机器配置文件 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config。 日志:尝试下载新 URL file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll。 ERR:无法完成程序集的设置(hr = 0x8007000b)。探测 终止。
警告 2 编译转换:预定义类型 'System.Runtime.CompilerServices.ExtensionAttribute' 定义在 全局别名中的多个程序集;使用来自的定义 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscorlib.dll' C:\Users\Ole\documents\visual 工作室 11\Projects\Cantina\Cantina\Models\navision.Context.tt
错误 3 编译转换:类型或命名空间名称“CSharp” 命名空间“Microsoft”中不存在(您是否缺少 程序集参考?) c:\Users\Ole\AppData\Local\Temp\qiu0vq02.0.cs
错误 4 编译转换:类型或命名空间名称 找不到“CSharpCodeProvider”(您是否缺少使用 指令还是程序集引用?) c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Entity Framework 工具\模板\包含\EF.Utility.CS.ttinclude 37 22
错误 5 编译转换:类型或命名空间名称 命名空间中不存在“CompilerErrorCollection” 'System.CodeDom.Compiler'(您是否缺少程序集 参考?) c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes\EF.Utility.CS.ttinclude
我认为问题在于它尝试使用的 32 位和 64 位 dll 的混合。
正在加载 64 位 mscorlib.dll 和 32 位 system.data.dll。 (但我不确定)
我的构建配置器平台是任何 CPU。
尝试在我的 C# 项目文件中输入 <PlatformTarget>x64</PlatformTarget>,但这没有帮助。
我使用的是 64 位 win 7 电脑。我也安装了 vs 2010。
我已经完成了以下操作,安装了 vs 2012 prof。 rtm,已卸载 vs 2012 Ultimate rc。
在这之后我注意到了错误。
然后我尝试卸载所有 .net 框架和 vs 2012 rtm。并再次 installin vs 2012 rtm,但它仍然给我错误。
有人可以请。帮我解决问题。
【问题讨论】:
-
您能否添加有关您的环境的更多信息。您是否同时安装了 VS 2010 和 VS 2012?你在安装 VS 2012 之前/之后卸载了 VS 2010 吗?
-
我已经更新了我的帖子,提供了有关我的环境的更多信息
-
我的公司也有同样的问题。我们并排安装了 2010 和 2012 VStudio Ultimate。先安装2010。在我们的例子中,我们安装了 Windows 8。
-
这个问题仍然困扰着我,有没有人有解决这个问题的建议?...我已经更新了 vs 2012 以更新 1,但我仍然收到错误。
标签: entity-framework build visual-studio-2012 t4