135 строки
5.2 KiB
XML
135 строки
5.2 KiB
XML
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
|
|
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlGTask" AssemblyFile="$(MSBuildThisFileDirectory)Xamarin.Forms.Build.Tasks.dll" />
|
|
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.CssGTask" AssemblyFile="$(MSBuildThisFileDirectory)Xamarin.Forms.Build.Tasks.dll"/>
|
|
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlCTask" AssemblyFile="$(MSBuildThisFileDirectory)Xamarin.Forms.Build.Tasks.dll" />
|
|
<UsingTask TaskName="Xamarin.Forms.Build.Tasks.GetTasksAbi" AssemblyFile="$(MSBuildThisFileDirectory)Xamarin.Forms.Build.Tasks.dll" />
|
|
|
|
<PropertyGroup>
|
|
<SynthesizeLinkMetadata>true</SynthesizeLinkMetadata>
|
|
<EnableDefaultXamlItems Condition="'$(EnableDefaultXamlItems)'==''">True</EnableDefaultXamlItems>
|
|
<_DefaultXamlItemsEnabled>False</_DefaultXamlItemsEnabled>
|
|
<EnableDefaultCssItems Condition="'$(EnableDefaultCssItems)'==''">True</EnableDefaultCssItems>
|
|
<_DefaultCssItemsEnabled>False</_DefaultCssItemsEnabled>
|
|
</PropertyGroup>
|
|
|
|
<Import Project="$(MSBuildThisFileDirectory)Xamarin.Forms.DefaultItems.targets" Condition="'$(MSBuildSDKsPath)'!=''" />
|
|
|
|
<ItemGroup>
|
|
<ProjectCapability Include="XamarinForms" />
|
|
</ItemGroup>
|
|
|
|
<!-- Check Tasks ABI and other validations -->
|
|
<PropertyGroup>
|
|
<_XFTargetsImportedAgain Condition="'$(_XFTargetsImported)'=='True'">True</_XFTargetsImportedAgain>
|
|
<_XFTargetsImported>True</_XFTargetsImported>
|
|
<IsXBuild Condition="'$(MSBuildRuntimeType)' == ''">true</IsXBuild>
|
|
<IsXBuild Condition="'$(MSBuildRuntimeType)' != ''">false</IsXBuild>
|
|
</PropertyGroup>
|
|
|
|
<Target Name="_ValidateXFTasks" BeforeTargets="_CheckForInvalidConfigurationAndPlatform" Condition="'$(XFDisableTargetsValidation)' != 'True'">
|
|
<Error
|
|
Text="Xamarin.Forms targets have been imported multiple times. Please check your project file and remove the duplicate import(s)."
|
|
Code="XF001"
|
|
Condition="'$(_XFTargetsImportedAgain)' == 'True'" />
|
|
|
|
<GetTasksAbi>
|
|
<Output TaskParameter="AbiVersion" PropertyName="_XFTasksAbi" />
|
|
</GetTasksAbi >
|
|
|
|
<PropertyGroup>
|
|
<_XFTasksExpectedAbi>5</_XFTasksExpectedAbi>
|
|
</PropertyGroup>
|
|
|
|
<Error
|
|
Text="Xamarin.Forms tasks do not match targets. Please ensure that all projects reference the same version of Xamarin.Forms, and if the error persists, please restart the IDE."
|
|
Code="XF002"
|
|
Condition="'$(_XFTasksAbi)' != '$(_XFTasksExpectedAbi)'" />
|
|
</Target>
|
|
|
|
<Target Name="_ValidateMSBuild" BeforeTargets="_CheckForInvalidConfigurationAndPlatform">
|
|
<Error
|
|
Text="Xamarin.Forms require msbuild. xbuild is no longer supported."
|
|
Code="XF003"
|
|
Condition="'$(IsXBuild)' == 'true'" />
|
|
</Target>
|
|
|
|
<!-- XamlG -->
|
|
<Target Name="UpdateDesignTimeXaml" DependsOnTargets="XamlG"/>
|
|
|
|
<PropertyGroup>
|
|
<CoreCompileDependsOn>
|
|
XamlG;
|
|
$(CoreCompileDependsOn);
|
|
</CoreCompileDependsOn>
|
|
</PropertyGroup>
|
|
|
|
<Target Name="_FindXamlGFiles" DependsOnTargets="PrepareResourceNames">
|
|
<ItemGroup>
|
|
<_XamlGInputs Include="@(EmbeddedResource)" Condition="'%(Extension)' == '.xaml' AND '$(DefaultLanguageSourceExtension)' == '.cs' AND '%(TargetPath)' != ''" />
|
|
<_XamlGOutputs Include="@(_XamlGInputs->'$(IntermediateOutputPath)%(TargetPath).g.cs')" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Target Name="XamlG" BeforeTargets="BeforeCompile" DependsOnTargets="_FindXamlGFiles" Inputs="@(_XamlGInputs)" Outputs="@(_XamlGOutputs)">
|
|
<XamlGTask
|
|
XamlFiles="@(_XamlGInputs)"
|
|
OutputFiles="@(_XamlGOutputs)"
|
|
Language="$(Language)"
|
|
AssemblyName="$(AssemblyName)" />
|
|
<ItemGroup>
|
|
<FileWrites Include="@(_XamlGOutputs)" />
|
|
<Compile Include="@(_XamlGOutputs)" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<!-- XamlC -->
|
|
<PropertyGroup>
|
|
<CompileDependsOn>
|
|
$(CompileDependsOn);
|
|
XamlC;
|
|
</CompileDependsOn>
|
|
</PropertyGroup>
|
|
|
|
<Target Name="XamlC" AfterTargets="AfterCompile" Inputs="$(IntermediateOutputPath)$(TargetFileName)" Outputs="$(IntermediateOutputPath)XamlC.stamp" Condition=" '$(DesignTimeBuild)' != 'True' ">
|
|
<XamlCTask
|
|
Assembly = "$(IntermediateOutputPath)$(TargetFileName)"
|
|
ReferencePath = "@(ReferencePath)"
|
|
OptimizeIL = "true"
|
|
DebugSymbols = "$(DebugSymbols)"
|
|
DebugType = "$(DebugType)"
|
|
KeepXamlResources = "$(XFKeepXamlResources)" />
|
|
<Touch Files="$(IntermediateOutputPath)XamlC.stamp" AlwaysCreate="True" />
|
|
<ItemGroup>
|
|
<FileWrites Include="$(IntermediateOutputPath)XamlC.stamp" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<!-- CssG -->
|
|
<PropertyGroup>
|
|
<CoreCompileDependsOn>
|
|
CssG;
|
|
$(CoreCompileDependsOn);
|
|
</CoreCompileDependsOn>
|
|
</PropertyGroup>
|
|
|
|
<Target Name="_FindCSSFiles" DependsOnTargets="PrepareResourceNames">
|
|
<ItemGroup>
|
|
<_CSSInputs Include="@(EmbeddedResource)" Condition="'%(Extension)' == '.css' AND '$(DefaultLanguageSourceExtension)' == '.cs' AND '%(TargetPath)' != ''" />
|
|
<_CSSOutputs Include="@(_CSSInputs->'$(IntermediateOutputPath)%(TargetPath).g.cs')" />
|
|
</ItemGroup>
|
|
</Target>
|
|
|
|
<Target Name="CssG" BeforeTargets="BeforeCompile" DependsOnTargets="_FindCSSFiles" Inputs="@(_CSSInputs)" Outputs="@(_CSSOutputs)">
|
|
<CssGTask
|
|
CSSFiles="@(_CSSInputs)"
|
|
OutputFiles="@(_CSSOutputs)"
|
|
Language = "$(Language)"
|
|
AssemblyName = "$(AssemblyName)" />
|
|
<ItemGroup>
|
|
<FileWrites Include="@(_CSSOutputs)" />
|
|
<Compile Include="@(_CSSOutputs)" />
|
|
</ItemGroup>
|
|
</Target>
|
|
</Project>
|