.NET Core 2.2 рдФрд░ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ рдкрд░ рд╣реЛрддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╛рдзрд╛рди/рд╡рд┐рдХрд▓реНрдк рд╣реИ?
рдореИрдВрдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓рдХреНрд╖реНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реАрдПрд▓рдЖрдИ рдХреЗ рд╕рд╛рде рдереАред рдореБрдЭреЗ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ:
1) рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ Global.json (рд╕рдВрджрд░реНрдн: https://markheath.net/post/switching-between-netcore-sdk-versions) рдЬреЛрдбрд╝рдХрд░ рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП CLI рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрджрд▓рдирд╛
2) рдЙрд╕рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдПрдХ рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП 2.1 рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рдВрдкрддреНрддрд┐ рд╕рдореВрд╣ рдореЗрдВ csproj рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА:
3) рдлрд┐рд░ рдирд┐рд░реНрдорд╛рдг/рдкреНрд░рдХрд╛рд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реБрдИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕ рдмрд╕ рдлрд┐рд░ рд╕реЗ рдХреНрд▓реА рд╕реЗ "рдбреЙрдЯрдиреЗрдЯ рд░рд┐рд╕реНрдЯреЛрд░" рдЪрд▓рд╛рдирд╛ рдерд╛ред
рдЙрд╕рдХреЗ рдмрд╛рдж, рдореИрдВ рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл "рдбреЙрдЯрдиреЗрдЯ рдПрдирдмреЗрдВрдЪ" рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред
рд╡рд┐рд╕реНрддреГрдд рд╕рдорд╛рдзрд╛рди рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! @izavala рдФрд░ рдореИрдВ NBench 2.0 рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдмрдбрд╝рд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдУрд╡рд░рд╣рд╛рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдЙрд╕рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рд╕реВрдЪреА рдореЗрдВ рд╣реЛрдЧрд╛ред
рдмрд╕ рдЗрд╕ рдореЗрдВ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд┐рд╕реА рдХреЛ рд░рди рдореЗрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдХреНрд╖реНрдп рдЪреМрдЦрдЯреЗ рдпрд╛ рд╕рд╛рде рдмреЗрд▓рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ global.json
, рдПрдХ рдФрд░ рдХрд╛рдо рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЧреИрд░-рджрд╕реНрддрд╛рд╡реЗрдЬреА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ --fx-version {version}
рдХреЗ рд╕рд╛рде рдзреНрд╡рдЬ dotnet nbench
, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
fxversion=$(dotnet --list-runtimes | \
grep Microsoft.NETCore.App | \
awk '{ print $2 }' | \
tail -1)
dotnet nbench --fx-version $fxversion
рдпрд╛:
$fxversion = dotnet --list-runtimes | `
select-string "Microsoft.NETCore.App" | `
select-object -last 1 | `
foreach-object { $data = $_ -split " "; $data[1] }
dotnet nbench --fx-version $fxversion
рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрдорд╛рдВрдб рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд░рдирд░ dotnet exec
рдХрдорд╛рдВрдб рдХреЛ fxVersion
рдЪрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдпрд╣ рдЦрд╛рд▓реА рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо --fx-version --depsfile "Foo.deps.json"
ред рдпрд╣ рдмрджрд▓реЗ рдореЗрдВ dotnet exec
рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ --depsfile
--fx-version
рдзреНрд╡рдЬ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп рдереЗ, рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд Foo.deps.json
рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕реЗрдВрдмрд▓реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ .
рдЖрдкрддреНрддрд┐рдЬрдирдХ рд▓рд╛рдЗрди: https://github.com/petabridge/NBench/blob/557f2fbca250a4a45636f5e4b41b58b8440b33f2/src/NBench.Runner.DotNetCli/Program.cs#L284
рдЗрд╕ рдкреИрдЪ рдХреЛ рдЗрд╕реЗ рдареАрдХ
diff --git a/src/NBench.Runner.DotNetCli/Program.cs b/src/NBench.Runner.DotNetCli/Program.cs
index c45b32e..417319c 100644
--- a/src/NBench.Runner.DotNetCli/Program.cs
+++ b/src/NBench.Runner.DotNetCli/Program.cs
@@ -281,7 +281,10 @@ namespace NBench.Runner.DotNetCli
var depsFile = targetFileNameWithoutExtension + ".deps.json";
var runtimeConfigJson = targetFileNameWithoutExtension + ".runtimeconfig.json";
- var args = $@"exec --fx-version {fxVersion} --depsfile ""{depsFile}"" ";
+ var args = $@"exec --depsfile ""{depsFile}"" ";
+
+ if (!string.IsNullOrWhiteSpace(fxVersion))
+ args += $"--fx-version {fxVersion} ";
if (File.Exists(Path.Combine(workingDirectory, runtimeConfigJson)))
args += $@"--runtimeconfig ""{runtimeConfigJson}"" ";
NBench 2.0.0 https://github.com/petabridge/NBench/releases/tag/2.0.0 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ - рдФрд░ рдирд╣реАрдВ dotnet nbench
ред