我需要在我的应用程序中创建一些在 .NET 3.5 和 .NET 4.0 中都可用的核心库。我很高兴创建多个项目,创建所需的定义并使用#ifdef
来控制哪些代码使其进入哪个输出程序集。
但是,我想知道是否有办法使这些项目保持同步?当我在 XNA 下进行开发时,我有一个 Windows 版本和一个 Windows Phone 版本 - XNA 将一个属性注入到名为XnaCrossPlatformGroupID
. 它的作用是使 Visual Studio 能够自动确保将文件添加到项目中时,将其添加到相应的项目中。因此,例如,如果我将一个名为的文件Foo.cs
添加到我的项目的 Windows 副本中,那么相同的文件将添加到项目的 Windows Phone 副本中。
有没有办法为 Visual Studio 中的一组普通项目复制这种行为?我不希望使用构建配置,因为我希望能够在一个步骤中编译所有目标平台,而无需借助 IDE 之外的工具(例如 TeamCity 之类的工具)。或者是否有另一种方法允许针对多个目标构建一个项目,而无需在解决方案中添加 20 种不同的构建配置?