是否可以让vs项目向后兼容vs2013和vs2017?

时间:2017-10-25 23:27:26

标签: msbuild visual-studio-2017

所以我的团队现在使用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>  

1 个答案:

答案 0 :(得分:0)

您应该可以使用VS17和您的团队VS13。如果在VS17中打开项目,请不要升级Windows SDK版本和平台工具集以及团队,并且可以像往常一样构建,但是不能使用新的C ++功能,因为较旧的VS13编译器无法编译它们