--- /dev/null
+<Project DefaultTargets="Build">
+ <Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.props))" />
+
+ <PropertyGroup>
+ <PackageDescription>Provides the MonoAOTCompiler task</PackageDescription>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <ProjectReference Include="$(RepoTasksDir)AotCompilerTask\MonoAOTCompiler.csproj" />
+
+ <PackageFile Include="build\$(MSBuildProjectName).props" TargetPath="build" />
+ </ItemGroup>
+
+ <Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.targets))" />
+</Project>
--- /dev/null
+# MonoAOTCompiler MSBuild Task NuPkg
+The `MonoAOTCompiler` MSBuild task is also useful outside the context of `dotnet/runtime`. The task is made available through a NuGet Package containing the `MonoAOTCompiler.dll` assembly produced from building `MonoAOTCompiler.csproj`. To use the task in a project, reference the NuGet package, with the appropriate nuget source.
+
+## NuGet.config
+```
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+ <packageSources>
+ <add key="dotnet6" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json" />
+ </packageSources>
+</configuration>
+```
+
+## In the project file
+```
+<!-- Import the NuGet package into the project -->
+<ItemGroup>
+ <PackageReference Include="Microsoft.NET.Runtime.MonoAOTCompiler.Task" Version="<desired-dotnet-6-sdk-version>" />
+</ItemGroup>
+
+<!-- Set up the MSBuild task using the assembly path provided by the NuGet package -->
+<UsingTask TaskName="MonoAOTCompiler"
+ AssemblyFile="$(MonoAOTCompilerTaskAssemblyPath)"/>
+
+<!-- Use the MonoAOTCompiler task in a target -->
+<Target>
+ <MonoAOTCompiler
+ CompilerBinaryPath="$(CompilerBinaryPath)"
+ Assemblies="@(Assemblies)"
+ <!-- Other parameters -->
+ >
+ <Output TaskParameter="CompiledAssemblies" ItemName="CompiledAssemblies" />
+ </MonoAOTCompiler>
+</Target>
+```
<ItemGroup Condition="'$(TargetOS)' == 'iOS'">
<ProjectReference Include="Microsoft.NET.Runtime.iOS.Sample.Mono\Microsoft.NET.Runtime.iOS.Sample.Mono.pkgproj" />
</ItemGroup>
+
+ <ItemGroup Condition="'$(TargetsMobile)' == 'true'">
+ <ProjectReference Include="Microsoft.NET.Runtime.MonoAOTCompiler.Task\Microsoft.NET.Runtime.MonoAOTCompiler.Task.pkgproj" />
+ </ItemGroup>
</Project>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
+
+ <!-- GetFilesToPackage assists to place `MonoAOTCompiler.dll` in a NuGet package in Microsoft.NET.Runtime.MonoAOTCompiler.Task.pkgproj for external use -->
+ <Target Name="GetFilesToPackage" Returns="@(FilesToPackage)">
+ <ItemGroup>
+ <FilesToPackage Include="$(OutputPath)$(NetCoreAppToolCurrent)\$(AssemblyName).dll" TargetPath="tools\$(NetCoreAppToolCurrent)" />
+ </ItemGroup>
+ </Target>
</Project>