使用旧版本(v3)构建项目没有问题,因为只有一组dll,并且项目目标设置是为"任何CPU"设置的。它在x86和x64版本中都运行良好,在Win32和Win64上都运行良好。
已下载并想尝试最新的Teechart 2012版本(4.1.2012.7136)现在Steema同时提供x64和x86 dll,我想使用优化的x64 dll的
问题1:我的理解正确吗?为什么新版本中有两个版本的TeeChart dll?
生成测试1:x64项目使用新的x64 TeeChart dll生成已将dll从文件夹C:\Program Files(x86)\Stema Software\Stema TeeChart for.NET 2012\net35\x64\复制到项目文件夹。这是因为我想用x64 dll的构建
生成x64内部版本时出现两种内部版本错误:错误1"无法加载文件或程序集"TeeChart,版本=4.1.2012.7136,区域性=中性,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:x64项目使用新的x86 TeeChart dll构建已将dll从文件夹C:\Program Files(x86)\Stema Software\Stema TeeChart for.NET 2012\net35\x86\复制到项目文件夹。
一切都很好,运行良好
问题4:在没有更新项目中的licenses.licx文件的情况下,这是如何构建的?
问题1:我的理解正确吗?为什么两个版本的TeeChartdll在新版本中?
这是将所有关于可能的环境组合的选项留给用户。
生成测试1:x64项目生成,复制了新的x64 TeeChart dlldll来自文件夹C:\Program Files(x86)\Stema Software\Stema用于.NET 2012\net35\x64\的TeeChart到项目文件夹。这是因为我想使用x64 dll的进行构建
生成x64生成时获取2种生成错误:错误1'无法加载文件或组件"TeeChart,版本=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:为什么会出现两种不同类型的错误?所有许可证.licx目前有包含版本3.5.3225.32185的文本。我试过了手动将所有licenses.licx文件更新到较新版本,但没有帮助。
可能是因为存在两个问题:1,项目找不到它所设置的TeeChart引用。2,发现的TeeChart程序集版本与licenses.licx设置不一致。
构建测试2:x64项目构建与新的x86 TeeChart dll复制dll来自文件夹C:\Program Files(x86)\Stema Software\Stema用于.NET 2012\net35\x86\的TeeChart到项目文件夹中。
一切都很好,运行良好
问题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,Version=44.1.012.7136,Culture=neutral,PublicKeyToken=9c8126276c77bdb7"或其依赖项之一。试图加载格式不正确的程序*"是真实的,因为它来自许可证编译器,就像设计器一样,它在项目引用中需要x86 dll
你觉得怎么样?
问题1:我的理解正确吗?为什么新版本中有两个版本的TeeChart dll?这是将所有关于可能的环境组合的选项留给用户。
我理解这种灵活性。我试图得到的答案是在新版本中有单独的dll的意图。在2008年,它曾经只是一组dll。那么为什么现在是x64和x86版本呢。我没有看到任何帮助或发布说明来解释这一差异。x64 dll在x64上运行时是否已优化?