Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlGTask" AssemblyFile="Xamarin.Forms.Build.Tasks.dll"/>
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.FixedCreateCSharpManifestResourceName" AssemblyFile="Xamarin.Forms.Build.Tasks.dll"/>
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlCTask" AssemblyFile="Xamarin.Forms.Build.Tasks.dll"/>
<PropertyGroup>
<PrepareResourcesDependsOn>
XamlG;
$(PrepareResourcesDependsOn);
</PrepareResourcesDependsOn>
</PropertyGroup>
<PropertyGroup>
<CompileDependsOn>
$(CompileDependsOn);
XamlC;
</CompileDependsOn>
</PropertyGroup>
<PropertyGroup>
<CoreCompileDependsOn Condition="'$(BuildingInsideVisualStudio)' == 'true' ">
DesignTimeMarkupCompilation;
$(CoreCompileDependsOn);
</CoreCompileDependsOn>
</PropertyGroup>
<Target Name="DesignTimeMarkupCompilation">
<CallTarget Condition="'$(BuildingProject)' != 'true' Or $(DesignTimeBuild) == 'true'" Targets="XamlG" />
</Target>
<Target Name="UpdateDesignTimeXaml" Condition="'$(UseHostCompilerIfAvailable)' == 'true'" DependsOnTargets="PrepareResources; Compile"/>
<Target Name="XamlG" DependsOnTargets="$(XamlGDependsOn)"/>
<PropertyGroup>
<XamlGDependsOn>
_PreXamlG;
_CoreXamlG;
</XamlGDependsOn>
</PropertyGroup>
<Target Name="_PreXamlG">
<MakeDir Directories="$(IntermediateOutputPath)"/>
</Target>
<PropertyGroup>
<CoreCompileDependsOn>
IncludeXamlResource;
$(CoreCompileDependsOn)
</CoreCompileDependsOn>
</PropertyGroup>
<Target Name="IncludeXamlResource">
<ItemGroup>
<XamlResource Include="@(EmbeddedResource)" Condition="'%(EmbeddedResource.Extension)' == '.xaml' AND '$(DefaultLanguageSourceExtension)' == '.cs'" />
<Compile Include="@(XamlResource->'$(IntermediateOutputPath)%(RelativeDir)%(FileName)%(Extension).g$(DefaultLanguageSourceExtension)')" />
</ItemGroup>
</Target>
<Target Name="_CoreXamlG"
Inputs = "@(XamlResource)"
Outputs = "$(IntermediateOutputPath)%(RelativeDir)%(FileName)%(Extension).g$(DefaultLanguageSourceExtension)">
<MakeDir Directories="$(IntermediateOutputPath)%(XamlResource.RelativeDir)" Condition="!Exists('$(IntermediateOutputPath)%(RelativeDir)')" />
<XamlGTask
Source="@(XamlResource)"
Language = "$(Language)"
AssemblyName = "$(AssemblyName)"
OutputFile = "$(IntermediateOutputPath)%(RelativeDir)%(FileName)%(Extension).g$(DefaultLanguageSourceExtension)">
</XamlGTask>
<ItemGroup>
<FileWrites Include="@(XamlResource->'$(IntermediateOutputPath)%(RelativeDir)%(FileName)%(Extension).g$(DefaultLanguageSourceExtension)')" />
</ItemGroup>
</Target>
<Target Name="XamlC">
<XamlCTask
Assembly = "$(IntermediateOutputPath)$(TargetFileName)"
ReferencePath = "@(ReferencePath)"
Verbosity = "2"
OptimizeIL = "true"
DebugSymbols = "$(DebugSymbols)" />
</Target>
</Project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.