<Project> <!-- Generate C# file with the version of all the nupkgs bundled with Godot --> <Target Name="SetPropertiesForGenerateGodotNupkgsVersions"> <PropertyGroup> <GeneratedGodotNupkgsVersionsFile>$(IntermediateOutputPath)GodotNupkgsVersions.g.cs</GeneratedGodotNupkgsVersionsFile> </PropertyGroup> </Target> <Target Name="GenerateGodotNupkgsVersionsFile" DependsOnTargets="_GenerateGodotNupkgsVersionsFile" BeforeTargets="PrepareForBuild;CompileDesignTime;BeforeCompile;CoreCompile"> <ItemGroup> <Compile Include="$(GeneratedGodotNupkgsVersionsFile)" /> <FileWrites Include="$(GeneratedGodotNupkgsVersionsFile)" /> </ItemGroup> </Target> <Target Name="_GenerateGodotNupkgsVersionsFile" DependsOnTargets="SetPropertiesForGenerateGodotNupkgsVersions" Inputs="$(MSBuildProjectFile);$(MSBuildThisFileDirectory);$(MSBuildProjectFile)\..\..\..\SdkPackageVersions.props" Outputs="$(GeneratedGodotNupkgsVersionsFile)"> <PropertyGroup> <GenerateGodotNupkgsVersionsCode><![CDATA[ namespace $(RootNamespace) { public class GeneratedGodotNupkgsVersions { public const string GodotNETSdk = "$(PackageVersion_Godot_NET_Sdk)"%3b public const string GodotSourceGenerators = "$(PackageVersion_Godot_SourceGenerators)"%3b public const string GodotSharp = "$(PackageVersion_GodotSharp)"%3b } } ]]></GenerateGodotNupkgsVersionsCode> </PropertyGroup> <WriteLinesToFile Lines="$(GenerateGodotNupkgsVersionsCode)" File="$(GeneratedGodotNupkgsVersionsFile)" Overwrite="True" WriteOnlyWhenDifferent="True" /> </Target> </Project>