0

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

下载并想尝试最新的 Teechart 2012 版本 (4.1.2012.7136) 现在 Steema 提供 x64 和 x86 dll,我想使用优化的 x64 dll

问题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 构建时出现 2 种构建错误:Error1 'Could not load file or assembly 'TeeChart, Version=4.1.2012.7136, Culture=neutral, PublicKeyToken=9c8126276c77bdb7' 或其依赖项之一。试图加载格式不正确的程序。

错误 2:'无法加载文件或程序集'TeeChart,版本 = 3.5.3225.32185,文化 = 中性,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 项目 将 dll 从文件夹 C:\Program Files (x86)\Steema Software\Steema TeeChart for .NET 2012\net35\x86\ 复制到项目文件夹。

一切都构建良好并且运行良好

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

4

3 回答 3

0

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

我正在复制现有的 dll,那么为什么我会对项目中的引用有问题。无论如何,我尝试删除引用并将它们添加回来只是为了它,但这并没有使错误消失。我最终在项目引用中添加了 x86 dll,并且当然更新了 licenses.licx 以指向较新的版本,并且它可以很好地构建 x64 构建。但是,为了对 x64 框进行全面优化,我将 x64 dll 复制到应用程序文件夹中。它运行良好。

这解决了两个问题:

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

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

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

你怎么看?

于 2012-07-26T15:07:20.890 回答
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 构建时出现 2 种构建错误:Error1 'Could not load file or assembly '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 更新到新版本或使用最小版本不可知的 licenses.licx,如教程 17 中所述。教程可以在 TeeChart 的程序组中找到。

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

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

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

可能是因为有2个问题: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 版本。

于 2012-07-26T11:11:57.787 回答
0

问题1:我的理解正确吗?为什么在较新版本中有两个版本的 TeeChart dll?这就是将所有关于可能的环境组合的选项留给用户。

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

于 2012-07-26T15:15:42.313 回答