我们正在以AnyCpu模式开发应用程序。该应用程序使用本机库,我们在运行时根据执行模式正确解析。
为了编译,我们使用两个库中的一个,因为接口没有改变,但我们收到警告MSB3187(这是正确的,但不适用于此处)。
有没有办法禁用它?我们制定了一项政策,即在没有我们想要维护的警告的情况下建立干净的构建。
答案 0 :(得分:1)
作为MSBuild错误MSB3187的MSDN语句:
当应用程序的目标平台(处理器体系结构)设置为中性(MSIL)且引用的程序集不是中性,或者应用程序的体系结构不是中性且依赖性为中性时,会生成此警告。此外,如果两者都不是平台中立的,那么它们的架构必须匹配。此外,应用程序体系结构和入口点组装体系结构必须始终匹配。
由于您的应用程序与“任何CPU”兼容,但您应该依赖于x86或x64的项目或.dll程序集。 Visual Studio将提供此警告。
要使警告消失,您应确保应用程序的目标平台(处理器体系结构)与所有引用的程序集和入口点程序集体系结构相匹配。
希望这可以帮到你