diff --git a/csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs b/csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs
index e3889c550c9f..4c8e5124a4cc 100644
--- a/csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs
+++ b/csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs
@@ -19,6 +19,12 @@ public interface IBuildRule
BuildScript Analyse(Autobuilder builder, bool auto);
}
+ ///
+ /// A delegate used to wrap a build script in an environment where an appropriate
+ /// version of .NET Core is automatically installed.
+ ///
+ public delegate BuildScript WithDotNet(Autobuilder builder, Func?, BuildScript> f);
+
///
/// Exception indicating that environment variables are missing or invalid.
///
diff --git a/csharp/autobuilder/Semmle.Autobuild.Shared/BuildCommandAutoRule.cs b/csharp/autobuilder/Semmle.Autobuild.Shared/BuildCommandAutoRule.cs
index 2ef98609512b..8677d1269a1e 100644
--- a/csharp/autobuilder/Semmle.Autobuild.Shared/BuildCommandAutoRule.cs
+++ b/csharp/autobuilder/Semmle.Autobuild.Shared/BuildCommandAutoRule.cs
@@ -11,9 +11,9 @@ namespace Semmle.Autobuild.Shared
///
public class BuildCommandAutoRule : IBuildRule
{
- private readonly Func?, BuildScript>, BuildScript> withDotNet;
+ private readonly WithDotNet withDotNet;
- public BuildCommandAutoRule(Func?, BuildScript>, BuildScript> withDotNet)
+ public BuildCommandAutoRule(WithDotNet withDotNet)
{
this.withDotNet = withDotNet;
}
diff --git a/csharp/autobuilder/Semmle.Autobuild.Shared/BuildCommandRule.cs b/csharp/autobuilder/Semmle.Autobuild.Shared/BuildCommandRule.cs
index 79cdd8c01de4..0077bcca1a4b 100644
--- a/csharp/autobuilder/Semmle.Autobuild.Shared/BuildCommandRule.cs
+++ b/csharp/autobuilder/Semmle.Autobuild.Shared/BuildCommandRule.cs
@@ -8,9 +8,9 @@ namespace Semmle.Autobuild.Shared
///
public class BuildCommandRule : IBuildRule
{
- private readonly Func?, BuildScript>, BuildScript> withDotNet;
+ private readonly WithDotNet withDotNet;
- public BuildCommandRule(Func?, BuildScript>, BuildScript> withDotNet)
+ public BuildCommandRule(WithDotNet withDotNet)
{
this.withDotNet = withDotNet;
}