XCom 2 bridge mod - https://steamcommunity.com/sharedfiles/filedetails/?id=2829105873
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <!-- BEGIN Required for ModBuddy -->

    <PropertyGroup>
        <StartAction>Program</StartAction>
        <StartProgram>$(XCOM2_GamePath)\..\Binaries\Win64\Launcher\StartDebugging.bat</StartProgram>
    </PropertyGroup>
    <PropertyGroup>
        <OutputPath>.</OutputPath>
    </PropertyGroup>
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Default|XCOM 2' ">
        <OutputPath>.</OutputPath>
    </PropertyGroup>
    <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
        <OutputPath>.</OutputPath>
    </PropertyGroup>
    <PropertyGroup>
        <ProjectDir Condition="'$(BuildPath)'==''">$(MSBuildProjectDirectory)</ProjectDir>
        <ModsDir>$(XCOM2_UserPath)\Mods\</ModsDir>
        <OutputDir>$(ModsDir)$(SafeName)\</OutputDir>
    </PropertyGroup>

    <!-- Prevent spontaneous build warnings/errors -->
    <Target Name="GetFrameworkPaths" />

    <!-- END Required for ModBuddy -->

    <!-- Setup default build entrypoint if none is set -->
    <PropertyGroup>
        <BuildEntryFileName Condition=" '$(BuildEntryFileName)' == '' ">build.ps1</BuildEntryFileName>
        <BuildEntryPs1 Condition=" '$(BuildEntryPs1)' == '' ">$(ScriptsDir)$(BuildEntryFileName)</BuildEntryPs1>
    </PropertyGroup>

    <!-- Setup powershell build config -->
    <PropertyGroup Condition=" '$(BuildEntryConfig)' == '' ">
        <BuildEntryConfig Condition=" '$(Configuration)' == 'Default' ">default</BuildEntryConfig>
        <BuildEntryConfig Condition=" '$(Configuration)' == 'Debug' ">debug</BuildEntryConfig>
    </PropertyGroup>

    <!-- Misc targets -->
    <Target Name="Clean">
        <ItemGroup>
            <Args Include="modName">
                <Value>$(SafeName)</Value>
            </Args>
        </ItemGroup>
        <InvokePowershellTask
            EntryPs1="$([System.IO.Path]::GetFullPath('$(BuildCommonRoot)clean.ps1'))"
            SolutionRoot="$([System.IO.Path]::GetFullPath('$(SolutionRoot)'))"
            SdkInstallPath="$([System.IO.Path]::GetFullPath('$(XCOM2_UserPath)..\\'))"
            GameInstallPath="$([System.IO.Path]::GetFullPath('$(XCOM2_GamePath)..\\'))"
            AdditionalArgs="@(Args)"
        />
    </Target>
    <Target Name="ReBuild">
        <CallTarget Targets="Clean;Default"/>
    </Target>

    <!-- The actual build -->
    <Target Name="Default">
        <!-- Uncomment if MSBuild insists that project is up to date -->
        <!-- <Exec Command="exit" /> -->
        <ItemGroup>
            <Args Include="config">
                <Value>$(BuildEntryConfig)</Value>
            </Args>
        </ItemGroup>
        <!-- Clean up the \..\ from the paths - makes it easier to debug -->
        <InvokePowershellTask
            EntryPs1="$([System.IO.Path]::GetFullPath('$(BuildEntryPs1)'))"
            SolutionRoot="$([System.IO.Path]::GetFullPath('$(SolutionRoot)'))"
            SdkInstallPath="$([System.IO.Path]::GetFullPath('$(XCOM2_UserPath)..\\'))"
            GameInstallPath="$([System.IO.Path]::GetFullPath('$(XCOM2_GamePath)..\\'))"
            AdditionalArgs="@(Args)"
        />
    </Target>

    <!-- Task definition -->
    <UsingTask TaskName="InvokePowershellTask" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
        <ParameterGroup>
            <EntryPs1 Required="true" />
            <SolutionRoot Required="true" />
            <SdkInstallPath Required="true" />
            <GameInstallPath Required="true" />
            <AdditionalArgs ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="false" />
          </ParameterGroup>
        <Task>
            <Reference Include="System.Management.Automation" />
            <Code Language="cs" Source="$(BuildCommonRoot)InvokePowershellTask.cs" />
        </Task>
    </UsingTask>
</Project>