首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#项目,GAC,DLL

C#项目,GAC,DLL
EN

Stack Overflow用户
提问于 2013-04-02 09:20:14
回答 2查看 2.6K关注 0票数 0

我的内置应用程序有问题。

我有一个来自这里的项目,对其进行了修改,并在我的程序中实现。

不久,该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_basetypes、cli_oootypes和其他人,没有DLL
  2. 有project1.dll、project2.dll、TableProc.dll和Program.exe

问题:

在构建的应用程序中,它告诉我们:

错误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中出现

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-02 06:39:04

将平台从AnyCPU更改为x86。

票数 0
EN

Stack Overflow用户

发布于 2019-01-09 00:27:09

对于那些在未来发现这一切的人。

问题是Visual中的目标平台不正确。.dlls需要用正确的位版本进行编译。

您需要将Visual中的目标平台更改为:

  • 64位-> x64
  • 32位-> x86

注意: AnyCPU不工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15760415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档