为x64构建错误

时间:2012-07-24 23:07:06

标签: teechart

没有问题使用旧版本(v3)构建项目,其中只有一组dll,并且项目目标设置是为“任何CPU”设置的。它适用于x86和x64版本,并且在Win32和Win64盒子上运行良好。

已下载并想尝试最新的Teechart 2012版本(4.1.2012.7136) 既然Steema同时提供x64和x86 dll,我想使用优化的x64 dll's

问题1:我的理解是否正确?为什么在新版本中有两个版本的TeeChart dll?

构建测试1:使用新的x64 TeeChart dll进行x64项目构建 将文件夹C:\ Program Files(x86)\ Steema Software \ Steema TeeChart for .NET 2012 \ net35 \ x64 \复制到项目文件夹。这是因为我想用x64 dll构建

构建x64 build时遇到2种构建错误: Error1'无法加载文件或程序集'TeeChart,Version = 4.1.2012.7136,Culture = neutral,PublicKeyToken = 9c8126276c77bdb7'或其依赖项之一。试图加载格式不正确的程序。'

误差2: '无法加载文件或程序集'TeeChart,Version = 3.5.3225.32185,Culture = neutral,PublicKeyToken = 9c8126276c77bdb7'或其依赖项之一。指针无效(来自HRESULT的异常:0x80004003(E_POINTER))'

问题2: 我是否需要更新项目中的所有licenses.licx文件?我知道这些是在添加TChart时自动生成的吗?当我刚刚更新TeeChart库时,如何处理这种情况?

问题3: 为什么会出现两种不同的错误?所有licenses.licx目前都包含Version = 3.5.3225.32185的文本。我尝试手动将所有licenses.licx文件更新到较新版本但没有帮助。

构建测试2:使用新的x86 TeeChart dll进行x64项目构建 将文件夹C:\ Program Files(x86)\ Steema Software \ Steema TeeChart for .NET 2012 \ net35 \ x86 \复制到项目文件夹。

一切都很好并且运行良好

问题4:如果没有更新项目中的licenses.licx文件,这是如何构建的?

3 个答案:

答案 0 :(得分:0)

  问题1:我的理解是否正确?为什么两个版本的TeeChart   dll是在新版本中?

这是为用户提供有关可能的环境组合的所有选项。

  

构建测试1:使用新的x64 TeeChart dll复制x64项目构建   dll来自文件夹C:\ Program Files(x86)\ Steema Software \ Steema   TeeChart for .NET 2012 \ net35 \ x64 \到项目文件夹。这是因为   我想用x64 dll构建

     

构建x64 build时遇到2种构建错误:Error1'不能   加载文件或程序集'TeeChart,Version = 4.1.2012.7136,   Culture = neutral,PublicKeyToken = 9c8126276c77bdb7'或其中一个   依赖。尝试加载程序不正确   格式“。

除了复制程序集之外,您是否更新了项目中的TeeChart.dll引用?您可以尝试将其删除并将其分配给x64程序集。

  

错误2:'无法加载文件或程序集'TeeChart,   版本= 3.5.3225.32185,文化=中立,   PublicKeyToken = 9c8126276c77bdb7'或其依赖项之一。无效   指针(来自HRESULT的异常:0x80004003(E_POINTER))'

您应该将licenses.licx更新为新版本,或者使用与教程17中所述的最小版本无关的licenses.licx。可以在TeeChart的程序组中找到教程。

  

问题2:我是否需要更新项目中的所有licenses.licx文件   ?我知道这些是在添加TChart时自动生成的吗?怎么做   我刚刚更新TeeChart库时处理情况?

我建议您使用前一个回复中所述的无版本licenses.licx。

  

问题3:为什么会出现两种不同的错误?所有licenses.licx   目前有包含版本= 3.5.3225.32185的文本。我试过了   手动将所有licenses.licx文件更新到较新版本但是   没用。

可能是因为有两个问题:1,项目找不到它所设置的TeeChart参考。 2,找到的TeeChart程序集版本与licenses.licx设置不一致。

  

构建测试2:使用新的x86 TeeChart dll进行x64项目构建复制   dll来自文件夹C:\ Program Files(x86)\ Steema Software \ Steema   TeeChart for .NET 2012 \ net35 \ x86 \到项目文件夹。

     

一切都很好并且运行良好

     

问题4:如何在没有任何更新的情况下构建正常   项目中的licenses.licx文件?

可能是因为项目TeeChart.dll引用尚未更新,仍然指向x86 TeeChart版本。

答案 1 :(得分:0)

  
    

除了复制程序集之外,您是否更新了项目中的TeeChart.dll引用?您可以尝试删除它并将其分配给x64程序集。

  

我正在复制现有的dll,那为什么我会在项目中引用问题。无论如何,我试图删除引用并将它们添加回来只是为了它,但这并没有使错误消失。我最终在项目引用中添加了x86 dll,并且更新了licenses.licx以指向更新的版本,它构建了x64 build。但是,为了获得x64盒子的完全优化,我将x64 dll复制到应用程序文件夹中。它运行正常。

这解决了两个问题:

1:Visual Studio设计器需要x86 dll,因此如果我们想要使用设计器对UI进行任何更改,则不能在项目引用中引用x64 dll。

2:修复了前面概述的许可证编译器的构建错误。

现在我认为错误' * 无法加载文件或程序集'TeeChart,Version = 4.1.2012.7136,Culture = neutral,PublicKeyToken = 9c8126276c77bdb7'或其依赖项之一。试图加载一个格式不正确的程序 * “是真的,因为它来自许可证编译器,就像设计师在项目参考中需要x86 dll一样。

你觉得怎么样?

答案 2 :(得分:0)

  
    问题1:我的理解是否正确?为什么在新版本中有两个版本的TeeChart dll?     这样就可以为用户提供有关可能的环境组合的所有选项。

  

我理解灵活性。我试图得到答案的意图是在新版本中使用单独的dll。它曾经只是2008年的一套dll。所以为什么现在x64和x86版本。我没有看到任何帮助或发布说明解释差异。 x64 dll是否在运行时在x64上进行了优化?