[英]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.