Tag: p4api.net

为’Any CPU’构建p4api.net.dll

本周早些时候,当我尝试使用p4api.net.dll时,我遇到了第一个BadImageFormatException。 原来我的假设是我可以使用它的64位版本而且p4bridge.dll不正确! 在我的调查中,我注意到我有一个警告: warning MSB3270: There was a mismatch between the processor architecture of the project being built “MSIL” and the processor architecture of the reference “p4api.net, Version=2014.3.100.9144, Culture=neutral, PublicKeyToken=f6b9b9d036c873e1, processorArchitecture=AMD64”, “AMD64” 我了解到这意味着我使用的.dll指定使用64位,而不是使用Any-CPU构建。 虽然我们可以将项目更改为特定的x64,但我还是被要求调查是否仍然可以将其作为平台不可知的方式保留。 我仍然是p4api.net的新手并且不得不处理这种依赖,但我的理解是,如果我可以将p4api.net.dll构建为“任何CPU”,警告就会消失,我只需要做一些魔法,以确保使用正确的p4bridge.dll取决于我在项目中定义的CurrentPlatform。 我下载并编译了p4api.net源代码并尝试指定任何CPU,但它不起作用。 现在它说该架构设置为x86,我仍然得到类似的MSB3270错误 – 现在是x86。 但是,我没有使用p4api.net解决方案得到这样的警告,因此它似乎没有我所知道的任何平台依赖性。 但是,如果我在CorFlags.exe上使用CorFlags.exe ,它肯定会提供特定于平台的PE / 32BIT标志。 所以我的问题: 有没有人知道是否有可能为任何CPU构建p4api.net? 如果做不到这一点,我需要做些什么来检查哪些(如果有的话)平台依赖存在会妨碍我为任何CPU构建p4api.net.dll? 如果上面的答案都没有,我可能会有新的问题,但是当我到达那里时会越过那座桥! 🙂 提前感谢任何帮助/想法。