@@ -23,16 +23,19 @@ public class CsProjClassicNetToolchain : Toolchain
2323        [ PublicAPI ]  public  static readonly  IToolchain  Net48  =  new  CsProjClassicNetToolchain ( "net48" ,  ".NET Framework 4.8" ) ; 
2424        [ PublicAPI ]  public  static readonly  IToolchain  Net481  =  new  CsProjClassicNetToolchain ( "net481" ,  ".NET Framework 4.8.1" ) ; 
2525
26-         private  CsProjClassicNetToolchain ( string  targetFrameworkMoniker ,  string  name ,  string  packagesPath  =  null ) 
26+         internal  string  CustomDotNetCliPath  {  get ;  } 
27+ 
28+         private  CsProjClassicNetToolchain ( string  targetFrameworkMoniker ,  string  name ,  string  packagesPath  =  null ,  string  customDotNetCliPath  =  null ) 
2729            :  base ( name , 
28-                 new  CsProjGenerator ( targetFrameworkMoniker ,  cliPath :   null ,   packagesPath :  packagesPath ,  runtimeFrameworkVersion :  null ,  isNetCore :  false ) , 
29-                 new  DotNetCliBuilder ( targetFrameworkMoniker ,  customDotNetCliPath :   null ) , 
30+                 new  CsProjGenerator ( targetFrameworkMoniker ,  customDotNetCliPath ,  packagesPath ,  runtimeFrameworkVersion :  null ,  isNetCore :  false ) , 
31+                 new  DotNetCliBuilder ( targetFrameworkMoniker ,  customDotNetCliPath ) , 
3032                new  Executor ( ) ) 
3133        { 
34+             CustomDotNetCliPath  =  customDotNetCliPath ; 
3235        } 
3336
34-         public  static IToolchain  From ( string  targetFrameworkMoniker ,  string  packagesPath  =  null ) 
35-             =>  new  CsProjClassicNetToolchain ( targetFrameworkMoniker ,  targetFrameworkMoniker ,  packagesPath ) ; 
37+         public  static IToolchain  From ( string  targetFrameworkMoniker ,  string  packagesPath  =  null ,   string   customDotNetCliPath   =   null ) 
38+             =>  new  CsProjClassicNetToolchain ( targetFrameworkMoniker ,  targetFrameworkMoniker ,  packagesPath ,   customDotNetCliPath ) ; 
3639
3740        public  override  IEnumerable < ValidationError >  Validate ( BenchmarkCase  benchmarkCase ,  IResolver  resolver ) 
3841        { 
@@ -47,7 +50,7 @@ public override IEnumerable<ValidationError> Validate(BenchmarkCase benchmarkCas
4750                    $ "Classic .NET toolchain is supported only for Windows, benchmark '{ benchmarkCase . DisplayInfo } ' will not be executed", 
4851                    benchmarkCase ) ; 
4952            } 
50-             else  if  ( IsCliPathInvalid ( customDotNetCliPath :   null ,  benchmarkCase ,  out  var  invalidCliError ) ) 
53+             else  if  ( IsCliPathInvalid ( CustomDotNetCliPath ,  benchmarkCase ,  out  var  invalidCliError ) ) 
5154            { 
5255                yield  return  invalidCliError ; 
5356            } 
0 commit comments