如何在Visual Studio 2010中从自定义属性表设置PlatformToolset

Ada*_*ura 8 winapi visual-studio-2010 visual-studio

我现在正在从VS 2005迁移到VS 2010,产品包含很少的解决方案,每个解决方案都有很多项目.我想利用属性表系统,因此我们的众多配置将更容易维护.

其中一个问题是我们想要使用Windows SDK 7.1(因为我们需要BaseClasses示例 - 如果我们必须使用该示例,为什么不使用整个SDK)?但这需要我在所有解决方案中的每个项目上更改PlatformToolset.此外,我们必须记住为新添加的项目更改该值.相当糟糕的主意.

所以我想从自定义属性表中设置它(以及其他内容).在属性表上设置属性时,直接从显示的对话框中没有这样的选项.手动将条目添加到XML文件也没有帮助(但我还没有看到任何错误或警告消息).

那我该如何设置默认的PlatformToolset值呢?最好在可以提交到存储库的配置文件中.但如果它可以在某些计算机本地设置中完成,那么它也是可以接受的.

(请注意,我知道我可以使用不同的BaseClasses并完全避免这个问题,但我认为这本身就是一个有趣的问题.)

我也在MSDN Formus上问了这个问题.

Ada*_*ura 4

PlatformToolset 必须在包含其他文件之前在文件开头的项目属性中设置,以便稍后可以使用它来设置一些默认值。如果未设置,那么这些包含项会将其设置为某个默认值。

即使工作正常,稍后重​​置它也是毫无意义的,因为一切都已经包含/设置了。因此,要将默认值更改为不同的 SDK,似乎应该适当更改 VS 配置文件(包含的文件)。

但这不一定是一件好事,因为它对于机器来说是本地的。

还有一个手动包含属性文件的选项,它在默认包含之前设置 PlatformToolset。然而,微软警告说,如果项目文件没有保持正确的顺序(这会破坏顺序),用于项目设置的 VS GUI 工具可能无法正常工作。

最后我只是手动更改了所有项目。新项目也必须更改为新的 PlatformToolset。