Open yevhen opened 4 years ago
i follow the wiki and await-ing is not working :
var result = await $"dir";
WriteLine(result.ExitCode);
result.StdOut.ForEach(WriteLine);
Resulting
Script compilation failure! See diagnostics below.
Nake.csx(26,1): error CS0670: Field cannot have void type
Nake.csx(27,17): error CS0023: Operator '.' cannot be applied to operand of type 'void'
Nake.csx(28,7): error CS0023: Operator '.' cannot be applied to operand of type 'void'
So where i miss the point ?
Thanks for your help.
Same for the official doc in the readme.md : copy/paste and running code throw error. For the last v3.0, the starting template looks like :
#r "nuget: Nake.Meta" // for Nake attribute
#r "nuget: Nake.Utility" // for all other class
using Nake;
using static Nake.Shell;
using static System.Console;
[Nake] void Default() {
Console.WriteLine("Default();");
Nake.Session.Exit("ok");
}
Uh, somehow lost this issue.
@bufferUnderrun I'll check that. But I swear awaiting
works fine. I use it extensively here https://github.com/yevhen/Streamstone/blob/master/Nake.csx
I found the issue : await
works but does not return any value whereas the wiki documentation says it can.
Working
#r "nuget: Nake.Meta" // for Nake attribute
#r "nuget: Nake.Utility" // for all other class
using Nake;
using static Nake.Shell;
using static System.Console;
[Nake] async Task Default() {
await $"dir";
Nake.Session.Exit("ok");
}
Not working
#r "nuget: Nake.Meta" // for Nake attribute
#r "nuget: Nake.Utility" // for all other class
using Nake;
using static Nake.Shell;
using static System.Console;
[Nake] async Task Default() {
var result = await $"dir";
Nake.Session.Exit("ok");
}
Error
Script compilation failure! See diagnostics below.
C:\www\appweb\src\nake.csx(78,9): error CS0815: Cannot assign void to an implicitly-typed variable
One last question : What is the difference between Cmd("dir");
and await $"dir";
?
Thanks for you help
@stratdev3 I'll check this and get back to you
Shell.Cmd
Shell.Run
Tee
classawait
-ing strings