Android 不同的应用程序类型取决于Visual Studio 2017中的配置和平台

Android 不同的应用程序类型取决于Visual Studio 2017中的配置和平台,android,c++,visual-studio,configuration,visual-studio-2017,Android,C++,Visual Studio,Configuration,Visual Studio 2017,我试图在Visual Studio 2017中配置一个库项目,使其根据$(配置)|$(平台)条件更改整个应用程序类型。特别是,我想创建一个配置,允许为Windows和Android构建相同的库项目 以下是我尝试过的: <PropertyGroup Label="Globals"> <ProjectGuid>{602F842F-50C1-466D-8696-1707937D8AB9}</ProjectGuid> <RootNamespa

我试图在Visual Studio 2017中配置一个库项目,使其根据
$(配置)|$(平台)
条件更改整个
应用程序类型。特别是,我想创建一个配置,允许为Windows和Android构建相同的库项目

以下是我尝试过的:

  <PropertyGroup Label="Globals">
    <ProjectGuid>{602F842F-50C1-466D-8696-1707937D8AB9}</ProjectGuid>
    <RootNamespace>MyNamespace</RootNamespace>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
    <VCProjectVersion>15.0</VCProjectVersion>
    <Keyword>Win32Proj</Keyword>
    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
    <ConfigurationType>StaticLibrary</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <PlatformToolset>v141</PlatformToolset>
    <CharacterSet>MultiByte</CharacterSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
    <Keyword>Android</Keyword>
    <ApplicationType>Android</ApplicationType>
    <ApplicationTypeRevision>3.0</ApplicationTypeRevision>
    <ConfigurationType>DynamicLibrary</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <PlatformToolset>Clang_5_0</PlatformToolset>
  </PropertyGroup>

{602F842F-50C1-466D-8696-1707937D8AB9}
MyNamespace
15
Win32Proj
10.0.17134.0
静态库
真的
v141
多字节
安卓
安卓
3
动态图书馆
真的
叮当声
但是,它将Android配置视为一个Windows库。我猜,VisualStudio采用第一个项目的应用程序类型,并将其应用于所有其他配置+平台组合。如果我在“Globals”部分定义应用程序类型“Android”,如下所示:

  <PropertyGroup Label="Globals">
    <ProjectGuid>{602F842F-50C1-466D-8696-1707937D8AB9}</ProjectGuid>
    <RootNamespace>MyNamespace</RootNamespace>
    <Keyword>Android</Keyword>
    <ApplicationType>Android</ApplicationType>
    <ApplicationTypeRevision>3.0</ApplicationTypeRevision>
  </PropertyGroup>

{602F842F-50C1-466D-8696-1707937D8AB9}
MyNamespace
安卓
安卓
3

然后VisualStudio将Android库类型应用于所有配置+平台组合。这是预期的行为。但似乎不可能定义每个配置+平台组合的应用程序类型。这是可以做到的还是我运气不佳?

简单的方法是公共库项目和使用公共库项目的两个应用程序项目。应用程序项目中的代码最少(只有特定于平台/目标的代码)。我希望在解决方案中避免太多的项目,但我会尝试。谢谢