所以我的团队现在使用VS2013,我最近证明我可以用VS2017运行我们的项目。所以我想知道是否有一种方法可以将我的更改推送到我们的主分支,而我的团队没有注意到任何事情。这意味着如果他们打开他们的VS2013他们运行项目就好了,当我用VS2017运行它时它运行正常。 (现在不会这样做,因为3rdParty库是用msvc 1800编译的,而我的项目运行在msvc 1900,它给我链接错误)
我可以利用MSBuild条件来执行此操作吗?
<Choose>
<When Condition=" '$(Configuration)'=='Debug' ">
<PropertyGroup>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>.\bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="UnitTesting\*.cs" />
<Reference Include="NUnit.dll" />
</ItemGroup>
</When>
<When Condition=" '$(Configuration)'=='retail' ">
<PropertyGroup>
<DebugSymbols>false</DebugSymbols>
<Optimize>true</Optimize>
<OutputPath>.\bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
</PropertyGroup>
</When>
</Choose>
答案 0 :(得分:0)
您应该可以使用VS17和您的团队VS13。如果在VS17中打开项目,请不要升级Windows SDK版本和平台工具集以及团队,并且可以像往常一样构建,但是不能使用新的C ++功能,因为较旧的VS13编译器无法编译它们