如何允许具有不同目标平台的项目依赖于另一个共享项目
本文关键字:项目 依赖于 另一个 共享 平台 目标 何允许 | 更新日期: 2023-09-27 18:30:56
我有一个包含一些共享代码的 C# 库项目。另外两个项目依赖于此代码。项目 A 只能面向 x86,因为它的一个依赖项仅为 x86。项目 B 以任何 CPU (MSIL) 为目标,因为它将由其他 Any CPU 代码使用。我希望项目 B 保留任何 CPU,以便尽可能灵活,因为它将来可能会被其他几个应用程序使用。
下面是一个简单的依赖关系图。所有这些项目都驻留在同一个解决方案中。我目前正在使用Visual Studio 2012和.NET 4.5。
Project B C# (Any CPU) Project A C# (x86)
| | |
|---> Shared C# Code <-----| |------> Native Code (x86 only)
有什么方法可以让Visual Studio同时构建共享代码的任何CPU和x86版本,并使其他项目依赖于正确的版本?
你不能让VS同时构建同一项目的不同配置(这也是值得怀疑的)。但是您描述的设置非常基本,通常可以通过单独的平台/配置组合(右键单击解决方案->配置管理器)来解决。例如(--
的意思是"不在乎"):
Release/AnyCPU
Build Platform Configuration
SharedProject x AnyCPU Release
ProjectA -- --
ProjectB x AnyCPU Release
Release/x86
Build Platform Configuration
SharedProject x x86 Release
ProjectA x x86 Release
ProjectB -- --
最后,如果您想一键构建多个配置,请查看构建>批量构建。