繁体   English   中英

x64的生成错误

[英]Build Error for x64

使用旧版本(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项目从文件夹C:\\ Program Files(x86)\\ Steema Software \\ Steema TeeChart for .NET 2012 \\ net35 \\ x64 \\复制到项目文件夹中的dll。 这是因为我要使用x64 dll构建

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

一切都很好,运行良好

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

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

那就是将所有有关可能的环境组合的选项留给用户。

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

在构建x64构建时,会遇到2种构建错误:错误1'无法加载文件或程序集'TeeChart,版本= 4.1.2012.7136,文化=中性,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文件更新到较新的版本,但没有帮助。

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

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

一切都很好,运行良好

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

可能是因为项目TeeChart.dll参考尚未更新,并且仍指向x86 TeeChart版本。

除了复制程序集,您还更新了项目中的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,文化=中性,PublicKeyToken = 9c8126276c77bdb7'或其依赖项之一。 尝试加载格式不正确的程序 * “是真实的,因为它来自许可证编译器,就像设计器一样,它在项目引用中需要x86 dll。

你怎么看?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM