我的内置应用程序有问题。
我有一个来自这里的项目,对其进行了修改,并在我的程序中实现。
不久,该TableProc项目将生成一个报告给OpenOffice Calc,并使用来自OpenOffice - cli_basetypes (GAC/MSIL)、cli_oootypes (GAC/MSIL)、cli_uno (GAC/MSIL)、cli_ure (GAC/MSIL)、cli_uretypes (GAC/MSIL) 和 cli_cppuhelper (GAC32)的一些库。
看上去:
解决方案
.....Project1 (参考文献TableProc)
.....Project2 (参考文献TableProc)
.....TableProc (已实现)(关于bin、目录、cli_basetypes.dll等库的引用)
因此,当我处于调试模式与2010之间时,这些DLL位于*/bin/目录下--一切正常--报告已经完成。
但是当我构建我的应用程序时:
问题:
在构建的应用程序中,它告诉我们:
错误1:
无法加载文件或程序集“cli_cppuhelper、Version=1.0.14.0、Culture=neutral、PublicKeyToken=ce2cb7e279207b9e”或其依赖项之一。Ann试图加载格式不正确的程序。)
好的,我试着手动把那些DLL放在我的Program.exe旁边-同样的错误。
然后我发现,当您安装Office时,这些库都安装在GAC中。我查看了它们,注意到它们都安装在GAC/MSIL中,而cli_cppuhelper安装在GAC/32中。
我试图手动将cli_cppuhelper程序集从GAC/32复制到GAC/MSIL,并得到了以下错误:
错误2:
不是有效的Win32应用程序。( HRESULT: 0x800700C1除外)
从这里我了解到,我的理解是,当查找DLL的时候,它只在GAC/MSIL中出现
帮帮忙,我不知道该怎么办.
发布于 2013-08-02 06:39:04
将平台从AnyCPU更改为x86。
发布于 2019-01-09 00:27:09
对于那些在未来发现这一切的人。
问题是Visual中的目标平台不正确。.dlls需要用正确的位版本进行编译。
您需要将Visual中的目标平台更改为:
注意: AnyCPU不工作。
https://stackoverflow.com/questions/15760415
复制相似问题