x86 / x64给定的程序集名称或代码库无效。 (HRESULT异常:0x80131047)

时间:2017-03-03 10:37:47

标签: c# x86 64-bit gac

早上好,

我正在开发一个C#附加到word,第一版被编译为在办公室字x64下运行,但是现在我必须在x86版本下运行它并且在调试模式下加载项目时出现此错误:给定的程序集名称或代码库无效。 (HRESULT异常:0x80131047) 例外文本:

  

System.IO.FileLoadException:Impossible de charger le fichier ou l'assembly'AppName,Version = 1.0.0.0,Culture = neutral'ou une desesdépendances。 Le nomou le code base de l'assemblydonnén'estpas valide。 (例外de HRESULT:0x80131047)   Nom de fichier:'AppName,Version = 1.0.0.0,Culture = neutral'      àSystem.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName,String codeBase,Evidence assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark& stackMark,IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks)      àSystem.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,Evidence assemblySecurity,RuntimeAssembly reqAssembly,StackCrawlMark& stackMark,IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks)      àSystem.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,Evidence assemblySecurity,StackCrawlMark& stackMark,IntPtr pPrivHostBinder,Boolean forIntrospection)      àSystem.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,Evidence assemblySecurity,StackCrawlMark& stackMark,Boolean forIntrospection)      àSystem.Reflection.Assembly.Load(String assemblyString)      àMicrosoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.CreateEntryPoint(String entryPointTypeName)      àMicrosoft.VisualStudio.Tools.Office.Runtime.DomainCreator.ExecuteCustomization.Microsoft.VisualStudio.Tools.Office.Runtime.Interop.IExecuteCustomization2.LoadEntryPoints(IntPtr serviceProvider)

我已经检查了我的代码,没有引用...

我怀疑文件夹GAC_32,GAC_64,GAC_MSIL

有问题

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我找到解决此问题的唯一方法是直接复制x86虚拟机中新VSTO项目中的代码。通过这种方式,我已经能够生成版本x64,x86和任何处理器!!