我现在正在从VS 2005迁移到VS 2010,其产品包含很少的解决方案,每个解决方案都有很多项目。我想利用属性表系统,因此我们的众多配置将更容易维护。
其中一个问题是我们想要使用Windows SDK 7.1(因为我们需要BaseClasses示例 - 如果我们必须使用该示例,为什么不使用整个SDK)?但这需要我在所有解决方案中的每个项目上更改PlatformToolset。此外,我们必须记住为新添加的项目更改该值。相当糟糕的主意。
所以我想从自定义属性表中设置它(以及其他内容)。在属性表上设置属性时,直接从显示的对话框中没有这样的选项。手动将条目添加到XML文件也没有帮助(但我还没有看到任何错误或警告消息)。
那么我应该如何设置默认的PlatformToolset值?最好在可以提交到存储库的配置文件中。但如果它可以在某些计算机本地设置中完成,那么它也是可以接受的。
(请注意,我知道我可以使用不同的BaseClasses并完全避免这个问题,但我认为这本身就是一个有趣的问题。)
我也在MSDN Formus问了这个问题。
答案 0 :(得分:4)
必须在包含其他文件之前在文件开头的项目属性中设置PlatformToolset,以便稍后可以使用它来设置某些默认值。如果设置为non,则这些包含将其设置为某个默认值。
稍后重置它即使作品毫无意义,因为所有内容都已包含/设置。因此,要将默认值更改为其他SDK,似乎应该正确更改VS配置文件(包括的那些)。
但这并不是一件好事,因为它对机器来说是本地的。
还可以选择手动包含属性文件,该文件在默认包含之前设置PlatformToolset。但MS警告说,如果项目文件没有保持正确的顺序(这会破坏顺序),用于项目设置的VS GUI工具可能无法正常工作。
最后我只是手动更改了所有项目。新项目也必须更改为新的PlatformToolset。