try icon indicating copy to clipboard operation
try copied to clipboard

Timeline on next release

Open ritchiecarroll opened this issue 5 years ago • 18 comments

Right now code built with C# 8.0 / .NET Core 3.1 always gives the following error for code I've tried (tried all versions and a manual compile from source):

System.InvalidOperationException: No design time or full build available

FYI, I am in the process of developing a tool that will take Go code and convert it to C#: go2cs

dotnet-try would be perfect for this by doing head-to-head comparisons of original Go code and converted C# code:

HeadToHead

ritchiecarroll avatar Jul 14 '20 16:07 ritchiecarroll

Extra info, if I try dotnet-try --verbose verify I get the following:

Unhandled exception: Clockwise.BudgetExceededException: Budget of 30 seconds exceeded.

Could this be related to the fact that the projects I am compiling have dependent project assemblies? FYI, projects seem to compile OK and run fine from command line.

Seems related to this: #781

ritchiecarroll avatar Jul 15 '20 03:07 ritchiecarroll

Interesting. I haven't seen that but it's definitely not necessary to budget execution time for verify.

jonsequitur avatar Jul 16 '20 00:07 jonsequitur

My problem(setup version: dotnet-hosting-3.1.6-win.exe):

Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware|An unhandled exception has occurred while executing the request. System.InvalidOperationException: No design time or full build available.

pccai avatar Jul 28 '20 10:07 pccai

@pccai This looks like a separate problem. Would you mind opening a separate issue for it and including the results of dotnet-try --version and dotnet --info?

Thanks.

jonsequitur avatar Jul 28 '20 15:07 jonsequitur

Could this be related to the fact that the projects I am compiling have dependent project assemblies?

@ritchiecarroll Does it work for you without the project-to-project dependencies? For example, can you run dotnet try demo successfully?

jonsequitur avatar Jul 28 '20 15:07 jonsequitur

@jonsequitur

C:\Users\Administrator>dotnet-try --version 1.0.19553.4+001b36724d769e844a53b22e3833a23caed3dc68

C:\Users\Administrator>dotnet --info .NET Core SDK(反映任何 global.json): Version: 3.1.302 Commit: 41faccf259

运行时环境: OS Name: Windows OS Version: 10.0.14393 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\3.1.302\

Host (useful for support): Version: 3.1.6 Commit: 3acd9b0cd1

.NET Core SDKs installed: 3.1.301 [C:\Program Files\dotnet\sdk] 3.1.302 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed: Microsoft.AspNetCore.App 3.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.NETCore.App 3.1.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.WindowsDesktop.App 3.1.5 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 3.1.6 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET Core runtimes or SDKs: https://aka.ms/dotnet-download

tks.

pccai avatar Jul 28 '20 15:07 pccai

dotnet try demo cannot running: image

F12 show: {"message":"An unhandled exception occurred.","exception":"System.AggregateException: One or more errors occurred. (Unsupported log file format. Latest supported version is 7, the log file has version 9.)\r\n ---> System.NotSupportedException: Unsupported log file format. Latest supported version is 7, the log file has version 9.\r\n at Microsoft.Build.Logging.StructuredLogger.BinLogReader.Replay(Stream stream) in C:\MSBuildStructuredLog\src\StructuredLogger\BinaryLogger\BinLogReader.cs:line 53\r\n at Microsoft.Build.Logging.StructuredLogger.BinLogReader.Replay(String sourceFilePath) in C:\MSBuildStructuredLog\src\StructuredLogger\BinaryLogger\BinLogReader.cs:line 37\r\n at Buildalyzer.AnalyzerManager.Analyze(String binLogPath, IEnumerable1 buildLoggers)\r\n at WorkspaceServer.Packaging.Package.LoadDesignTimeBuildFromBuildLogFile(Package package, FileSystemInfo binLog)\r\n --- End of inner exception stack trace ---\r\n at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)\r\n at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)\r\n at System.Threading.Tasks.Task.Wait()\r\n at WorkspaceServer.Packaging.Package.TryLoadDesignTimeBuildFromBuildLog()\r\n at WorkspaceServer.Packaging.Package..ctor(String name, IPackageInitializer initializer, DirectoryInfo directory, IScheduler buildThrottleScheduler)\r\n at WorkspaceServer.Packaging.RebuildablePackage..ctor(String name, IPackageInitializer initializer, DirectoryInfo directory, IScheduler buildThrottleScheduler)\r\n at WorkspaceServer.Packaging.PackageBuilder.GetPackage(Budget budget)\r\n at WorkspaceServer.PackageRegistry.<>c__DisplayClass10_0.<<GetPackageFromPackageBuilder>b__0>d.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at WorkspaceServer.PackageRegistry.Get[T](String packageName, Budget budget)\r\n at WorkspaceServer.Servers.Roslyn.RoslynWorkspaceServer.GetDiagnostics(WorkspaceRequest request, Budget budget)\r\n at WorkspaceServer.Servers.WorkspaceServerMultiplexer.GetDiagnostics(WorkspaceRequest request, Budget budget)\r\n at MLS.Agent.Controllers.LanguageServicesController.Diagnostics(WorkspaceRequest request, String timeoutInMilliseconds) in F:\\workspace\\_work\\1\\s\\MLS.Agent\\Controllers\\LanguageServicesController.cs:line 131\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)"}

pccai avatar Jul 28 '20 15:07 pccai

Other errors:

{"message":"An unhandled exception occurred.","exception":"System.InvalidOperationException: No design time or full build available\r\n at WorkspaceServer.Packaging.Package.CreateRoslynWorkspace()\r\n at WorkspaceServer.Packaging.Package.ProcessFullBuildRequest(Budget budget)\r\n at WorkspaceServer.Packaging.Package.<SetupWorkspaceCreationFromBuildChannel>b__54_0(Budget budget)\r\n at WorkspaceServer.Servers.Roslyn.PackageExtensions.GetCompilation(IPackage package, IReadOnlyCollection1 sources, SourceCodeKind sourceCodeKind, IEnumerable1 defaultUsings, Func1 workspaceFactory, Budget budget)\r\n at WorkspaceServer.Servers.Roslyn.RoslynWorkspaceServer.CompileWorker(Workspace workspace, BufferId activeBufferId, Budget budget)\r\n at WorkspaceServer.Servers.Roslyn.RoslynWorkspaceServer.Run(WorkspaceRequest request, Budget budget)\r\n at WorkspaceServer.Servers.WorkspaceServerMultiplexer.Run(WorkspaceRequest request, Budget budget)\r\n at MLS.Agent.Controllers.RunController.Run(WorkspaceRequest request, String timeoutInMilliseconds) in F:\\workspace\\_work\\1\\s\\MLS.Agent\\Controllers\\RunController.cs:line 75\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)"}

pccai avatar Jul 28 '20 15:07 pccai

@pccai You're using an older version that doesn't work with the latest SDKs. Can you run the following and try again?

> dotnet tool uninstall -g dotnet-try
> dotnet tool install -g Microsoft.dotnet-try

jonsequitur avatar Jul 28 '20 16:07 jonsequitur

yes,that my way,but not running:

D:\try>dotnet try --version 1.0.20268.1+e7fd4a8cb0abe91be3125d1f0f021b067432b47b

D:\try>dotnet try demo Hosting environment: Production Content root path: C:\Users\Administrator.dotnet\tools.store\microsoft.dotnet-try\1.0.20268.1\microsoft.dotnet-try\1.0.20268.1\tools\netcoreapp3.1\any Now listening on: https://localhost:59253 Application started. Press Ctrl+C to shut down.

{"message":"An unhandled exception occurred.","exception":"System.AggregateException: One or more errors occurred. (Unsupported log file format. Latest supported version is 7, the log file has version 9.)\r\n ---> System.NotSupportedException: Unsupported log file format. Latest supported version is 7, the log file has version 9.\r\n at Microsoft.Build.Logging.StructuredLogger.BinLogReader.Replay(Stream stream) in C:\MSBuildStructuredLog\src\StructuredLogger\BinaryLogger\BinLogReader.cs:line 53\r\n at Microsoft.Build.Logging.StructuredLogger.BinLogReader.Replay(String sourceFilePath) in C:\MSBuildStructuredLog\src\StructuredLogger\BinaryLogger\BinLogReader.cs:line 37\r\n at Buildalyzer.AnalyzerManager.Analyze(String binLogPath, IEnumerable1 buildLoggers)\r\n at WorkspaceServer.Packaging.Package.LoadDesignTimeBuildFromBuildLogFile(Package package, FileSystemInfo binLog)\r\n --- End of inner exception stack trace ---\r\n at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)\r\n at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)\r\n at System.Threading.Tasks.Task.Wait()\r\n at WorkspaceServer.Packaging.Package.TryLoadDesignTimeBuildFromBuildLog()\r\n at WorkspaceServer.Packaging.Package..ctor(String name, IPackageInitializer initializer, DirectoryInfo directory, IScheduler buildThrottleScheduler)\r\n at WorkspaceServer.Packaging.RebuildablePackage..ctor(String name, IPackageInitializer initializer, DirectoryInfo directory, IScheduler buildThrottleScheduler)\r\n at WorkspaceServer.Packaging.PackageBuilder.GetPackage(Budget budget)\r\n at WorkspaceServer.PackageRegistry.<>c__DisplayClass10_0.<<GetPackageFromPackageBuilder>b__0>d.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at WorkspaceServer.PackageRegistry.Get[T](String packageName, Budget budget)\r\n at WorkspaceServer.Servers.Roslyn.RoslynWorkspaceServer.Run(WorkspaceRequest request, Budget budget)\r\n at WorkspaceServer.Servers.WorkspaceServerMultiplexer.Run(WorkspaceRequest request, Budget budget)\r\n at MLS.Agent.Controllers.RunController.Run(WorkspaceRequest request, String timeoutInMilliseconds) in F:\\workspace\\_work\\1\\s\\MLS.Agent\\Controllers\\RunController.cs:line 75\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)"}

pccai avatar Jul 29 '20 02:07 pccai

Could this be related to the fact that the projects I am compiling have dependent project assemblies?

@ritchiecarroll Does it work for you without the project-to-project dependencies? For example, can you run dotnet try demo successfully?

It does not

ritchiecarroll avatar Jul 30 '20 13:07 ritchiecarroll

@pccai You might also try cleaning out out the build outputs. The .binlog file looks like it's still there from the older version.

jonsequitur avatar Jul 30 '20 14:07 jonsequitur

@ritchiecarroll If you do a dotnet build of your backing project, how long does it take to complete?

jonsequitur avatar Jul 30 '20 14:07 jonsequitur

@ritchiecarroll If you do a dotnet build of your backing project, how long does it take to complete?

Just moments... 8 seconds?

Ran test on a sample:

Time Elapsed 00:00:06.06

ritchiecarroll avatar Jul 30 '20 14:07 ritchiecarroll

If useful, here's the full unhandled exception:

Unhandled exception: Clockwise.BudgetExceededException: Budget of 30 seconds exceeded.
   at Clockwise.BudgetExtensions.<>c__DisplayClass0_0.<CancelIfExceeds>b__0()
   at Clockwise.TaskExtensions.CancelAfter(Task task, CancellationToken cancellationToken, Action ifCancelled)
   at Clockwise.BudgetExtensions.CancelIfExceeds(Task task, Budget budget, Action ifCancelled)
   at WorkspaceServer.Packaging.Package.ProcessFullBuildRequest(Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Packaging\Package.cs:line 349
   at WorkspaceServer.Packaging.Package.<SetupWorkspaceCreationFromBuildChannel>b__54_0(Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Packaging\Package.cs:line 307
   at WorkspaceServer.Servers.Roslyn.PackageExtensions.GetCompilation(IPackage package, IReadOnlyCollection`1 sources, SourceCodeKind sourceCodeKind, IEnumerable`1 defaultUsings, Func`1 workspaceFactory, Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Servers\Roslyn\PackageExtensions.cs:line 186
   at WorkspaceServer.Servers.Roslyn.RoslynWorkspaceServer.CompileWorker(Workspace workspace, BufferId activeBufferId, Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Servers\Roslyn\RoslynWorkspaceServer.cs:line 415
   at WorkspaceServer.Servers.Roslyn.RoslynWorkspaceServer.Compile(WorkspaceRequest request, Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Servers\Roslyn\RoslynWorkspaceServer.cs:line 193
   at WorkspaceServer.Servers.WorkspaceServerMultiplexer.Compile(WorkspaceRequest request, Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Servers\WorkspaceServerMultiplexer.cs:line 26
   at MLS.Agent.CommandLine.VerifyCommand.<>c__DisplayClass0_0.<<Do>g__ReportCompileResults|3>d.MoveNext() in F:\workspace\_work\1\s\MLS.Agent\CommandLine\VerifyCommand.cs:line 193
--- End of stack trace from previous location where exception was thrown ---
   at MLS.Agent.CommandLine.VerifyCommand.Do(VerifyOptions verifyOptions, IConsole console, StartupOptions startupOptions) in F:\workspace\_work\1\s\MLS.Agent\CommandLine\VerifyCommand.cs:line 88
   at System.CommandLine.Invocation.CommandHandler.GetResultCodeAsync(Object value, InvocationContext context)
   at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseErrorReporting>b__20_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at MLS.Agent.CommandLine.CommandLineParser.<>c__DisplayClass7_0.<<Create>b__4>d.MoveNext() in F:\workspace\_work\1\s\MLS.Agent\CommandLine\CommandLineParser.cs:line 165
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass15_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass24_0.<<UseVersionOption>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__21_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseDirective>b__19_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseDebugDirective>b__11_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__10_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass13_0.<<UseExceptionHandler>b__0>d.MoveNext()

ritchiecarroll avatar Jul 30 '20 19:07 ritchiecarroll

@jonsequitur

Here you go!!

This works:

'''cs --region source --source-file ./main.package.cs
'''

This does not:

'''cs --region source --source-file ./main_package.cs
'''

Only difference is an underscore in main project file name??!!

Doesn't like underscores I guess...

ritchiecarroll avatar Jul 30 '20 19:07 ritchiecarroll

FYI - more complex examples that reference other project-level assemblies still fail with:

2020-07-30T19:40:09.8422992Z [MLS.Agent.Middleware.ExceptionFilter]  ❌ System.InvalidOperationException: No design time or full build available
   at WorkspaceServer.Packaging.Package.CreateRoslynWorkspace() in F:\workspace\_work\1\s\WorkspaceServer\Packaging\Package.cs:line 372
   at WorkspaceServer.Packaging.Package.ProcessFullBuildRequest(Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Packaging\Package.cs:line 351
   at WorkspaceServer.Packaging.Package.<SetupWorkspaceCreationFromBuildChannel>b__54_0(Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Packaging\Package.cs:line 309

However... These project assemblies also contain underscores in their names... If the issue is related.

ritchiecarroll avatar Jul 30 '20 19:07 ritchiecarroll

Wow, great find! Thanks for your persistence on this.

I opened #869 to track this.

jonsequitur avatar Jul 30 '20 21:07 jonsequitur