2013-04-02 186 views
0

我有我的内置应用程序的问题。C#项目,GAC,DLL

我有一个项目取自here修改它并在我的程序中实现。这个TableProc项目很快就会生成一个报告给OpenOffice Calc,并使用OpenOffice的一些库--cli_basetypes(GAC/MSIL),cli_oootypes(GAC/MSIL),cli_uno(GAC/MSIL),cli_ure(GAC/MSIL),cli_uretypes( GAC/MSIL)AND cli_cppuhelper(GAC32)。

的样子:
解决方案
..... PROJECT1(引用TableProc)
..... Project2的(引用TableProc)
..... TableProc(实现)(在库的引用bin目录cli_basetypes.dll和其他)

因此,当我在调试模式VS 2010,那些DLL在目录* /斌/ - 一切工作正常 - 报告完成。

但是,当我建立我的应用程序:
1.有没有DLL对cli_basetypes,cli_oootypes和其他
2.有project1.dll,project2.dll和TableProc.dll和 的Program.exe

问题:

在建立应用程序,它会告诉:

错误1:

Could not load file or assembly 'cli_cppuhelper, Version=1.0.14.0, Culture=neutral, PublicKeyToken=ce2cb7e279207b9e' or one of its dependencies. Ann attempt was made to load a programm with an incorrect format.)

好吧,我试图手动将这些DLL的旁边我的Program.exe - 同样的错误。

然后我发现,当您安装Open Office时,这些库安装在GAC中。我看着他们,发现他们都安装在GAC/MSIL中,但cli_cppuhelper安装在GAC/32中。

我试图手动从GAC/32 GAC/MSIL,并得到这个错误复制cli_cppuhelper组件:

错误2:

Is not a valid Win32 application. (Exception from HRESULT: 0x800700C1))

从这个我理解,我的apllication,当容貌对于DLL的它看起来只是在GAC/MSIL

请帮帮忙,我不知道该怎么办......

+2

史蒂夫4月2日从AnyCPU改变你的平台的x86 – Steve

回答

0

史蒂夫帮助我这样的:从AnyCPU改变你的平台,x86的 - 在9:22