我正在使用 32 位计算机,但部署到 64 位服务器。
我在一个解决方案中有 5 个项目,如下所示:
- IHCommon(类库)
- 参考
- IHLib64(作为项目)
- IHLib32(作为项目)
- 参考
- IHLib64(类库)
- 参考
- aLibrary.dll(为 64 位计算机编译的第三方 dll)
- 参考
- IHLib32(类库)
- 参考
- aLibrary.dll(为 32 位计算机编译的第三方 dll)
- 参考
- IHWebUtility(类库)
- 参考
- IHCommon(作为一个项目)
- 参考
- 网站(网络项目)
- 参考
- IHWebUtility(作为一个项目)
- 参考
这是我的观点。我的网站应用程序必须运行一些用“aLibrary.dll”编写的函数,所以我设法在 CPU 类型的情况下从“IHCommon”项目中调用“IHLib64”或“IHLib32”。
它工作正常。
问题出在网站的 bin 文件夹中,32 位版本的“aLibrary.dll”正在尝试定位,而 64 位版本的“aLibrary.dll”想要定位。
它们具有相同的名称,因此它们不能留在同一个文件夹中。
如何将它们分成单独的文件夹,如 bin\x86 和 bin\x64?
我真正的重点是将它们包含在我的解决方案中,但在 CPU 类型的条件下运行它们。
我试图修复 .csproj 文件,但没有成功。
[编辑] 我也尝试过使用 .NET Reflection,但我真的不能将它应用到我以前的代码中。
代码转换太大。
[编辑]致丹尼尔
你的意思是,我必须按如下方式修复这些项目:
- IHCommon(类库)
- 动态链接库
- x86
- aLibrary.dll(为 32 位计算机编译的第三方 dll)
- x64
- aLibrary.dll(为 64 位计算机编译的第三方 dll)
- x86
- 动态链接库
- IHWebUtility(类库)
- 参考
- IHCommon(作为一个项目)
- 参考
- 网站(网络项目)
- 参考
- IHWebUtility(作为一个项目)
- 参考