Prototype of xabuild.exe, don't look here!
- References
MSBuild.exeand invokes itsMain()method - Copies
MSBuild.exe.configtoxabuild.exe.config - Fixes up
xabuild.exe.configto set custom MSBuild properties and search paths - Add a symbolic link to the
.NETPortableframework assemblies directory
The following values are modified, based on the xamarin-android submodule:
<msbuildToolsets default="15.0">
<toolset toolsVersion="15.0">
<property name="TargetFrameworkRootPath" value="$(UserProfile)\Desktop\Git\xabuild\xamarin-android\bin\Debug\lib\xamarin.android\xbuild-frameworks\" />
<property name="MonoAndroidToolsDirectory" value="$(UserProfile)\Desktop\Git\xabuild\xamarin-android\bin\Debug\lib\xamarin.android\xbuild\Xamarin\Android" />
<property name="AndroidNdkDirectory" value="$(UserProfile)\android-toolchain\ndk" />
<property name="AndroidSdkDirectory" value="$(UserProfile)\android-toolchain\sdk" />
<property name="MSBuildToolsPath" value="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin" />
<property name="MSBuildToolsPath32" value="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin" />
<property name="MSBuildToolsPath64" value="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin" />
<property name="VsInstallRoot" value="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise" />
<property name="MSBuildExtensionsPath" value="$(UserProfile)\Desktop\Git\xabuild\xamarin-android\bin\Debug\lib\xamarin.android\xbuild" />
<property name="MSBuildExtensionsPath32" value="$(UserProfile)\Desktop\Git\xabuild\xamarin-android\bin\Debug\lib\xamarin.android\xbuild" />
<property name="RoslynTargetsPath" value="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Roslyn" />
<projectImportSearchPaths>
<searchPaths os="windows">
<property name="MSBuildExtensionsPath" value="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild;$(MSBuildProgramFiles32)\MSBuild" />
<property name="MSBuildExtensionsPath32" value="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild;$(MSBuildProgramFiles32)\MSBuild" />
<property name="MSBuildExtensionsPath64" value="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild;$(MSBuildProgramFiles32)\MSBuild" />
</searchPaths>
</projectImportSearchPaths>
</toolset>
</msbuildToolsets>A couple notes:
- You have to build
xabuild.slnwith MSBuild MSBuild.exeis actuallyMSBuild.dllon macOS- Therefore, to get the config to load, we must customize
MSBuild.dll.config
An example MSBuild.dll.config:
<msbuildToolsets default="15.0">
<toolset toolsVersion="15.0">
<property name="TargetFrameworkRootPath" value="~/Desktop/Git/xabuild/xamarin-android/bin/Debug/lib/xamarin.android/xbuild-frameworks/" />
<property name="MonoAndroidToolsDirectory" value="~/Desktop/Git/xabuild/xamarin-android/bin/Debug/lib/xamarin.android/xbuild/Xamarin/Android" />
<property name="AndroidNdkDirectory" value="~/android-toolchain/ndk" />
<property name="AndroidSdkDirectory" value="~/android-toolchain/sdk" />
<property name="MSBuildExtensionsPath32" value="~/Desktop/Git/xabuild/xamarin-android/bin/Debug/lib/xamarin.android/xbuild" />
<property name="MSBuildExtensionsPath" value="~/Desktop/Git/xabuild/xamarin-android/bin/Debug/lib/xamarin.android/xbuild" />
<property name="MSBuildToolsPath" value="/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/msbuild/15.0/bin" />
<property name="MSBuildToolsPath32" value="/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/msbuild/15.0/bin" />
<property name="MSBuildToolsPath64" value="/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/msbuild/15.0/bin" />
<property name="RoslynTargetsPath" value="/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/msbuild/15.0/bin/Roslyn" />
<projectImportSearchPaths>
<searchPaths os="osx">
<property name="MSBuildExtensionsPath" value="/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/msbuild;/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild" />
<property name="MSBuildExtensionsPath32" value="/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/msbuild;/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild" />
<property name="MSBuildExtensionsPath64" value="/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/msbuild;/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xbuild" />
</searchPaths>
</projectImportSearchPaths>
</toolset>
</msbuildToolsets>