I can't use omnisharp in vscode with grpc projects from the .Net Core 3.0 Preview
Execute:
dotnet new grpc -n TestApp -o src/
cd src/
code .
Normal behavior
Exception: The "ProtoCompile" task failed unexpectedly.
Starting OmniSharp server at 9/3/2019, 3:40:05 PM
Target: /media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer
OmniSharp server started.
Path: /home/jose/.vscode/extensions/ms-vscode.csharp-1.21.1/.omnisharp/1.34.2/run
PID: 26921
Starting OmniSharp on ubuntu 18.4 (x64)
DotNetPath set to dotnet
Located 1 MSBuild instance(s)
1: StandAlone 16.0 - "/home/jose/.vscode/extensions/ms-vscode.csharp-1.21.1/.omnisharp/1.34.2/omnisharp/.msbuild/Current/Bin"
MSBUILD_EXE_PATH environment variable set to '/home/jose/.vscode/extensions/ms-vscode.csharp-1.21.1/.omnisharp/1.34.2/omnisharp/.msbuild/Current/Bin/MSBuild.dll'
Registered MSBuild instance: StandAlone 16.0 - "/home/jose/.vscode/extensions/ms-vscode.csharp-1.21.1/.omnisharp/1.34.2/omnisharp/.msbuild/Current/Bin"
MSBuildExtensionsPath = /home/jose/.vscode/extensions/ms-vscode.csharp-1.21.1/.omnisharp/1.34.2/omnisharp/.msbuild
BypassFrameworkInstallChecks = true
CscToolPath = /home/jose/.vscode/extensions/ms-vscode.csharp-1.21.1/.omnisharp/1.34.2/omnisharp/.msbuild/Current/Bin/Roslyn
CscToolExe = csc.exe
MSBuildToolsPath = /home/jose/.vscode/extensions/ms-vscode.csharp-1.21.1/.omnisharp/1.34.2/omnisharp/.msbuild/Current/Bin
Detecting Cake files in '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer'.
Could not find any Cake files
No solution files found in '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer'
Queue project update for '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/clients/csharp/grpc_client.csproj'
Queue project update for '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/audit_logger/gen_csharp/audit_logger.csproj'
Queue project update for '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/facenet/gen_csharp/facenet.csproj'
Queue project update for '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/health_check/gen_csharp/health_check.csproj'
Queue project update for '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/midas/gen_csharp/midas.csproj'
Queue project update for '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/tessocr/gen_csharp/tessocr.csproj'
Queue project update for '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/src/FaissBalancer.csproj'
Detecting CSX files in '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer'.
Could not find any CSX files
Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpFormattingWorkspaceOptionsProvider, Order: 0
Loading project: /media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/clients/csharp/grpc_client.csproj
Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.RenameWorkspaceOptionsProvider, Order: 100
Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.EditorConfigWorkspaceOptionsProvider, Order: 200
Configuration finished.
Omnisharp server running using Stdio at location '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer' on host 26740.
Successfully loaded project file '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/clients/csharp/grpc_client.csproj'.
Adding project '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/clients/csharp/grpc_client.csproj'
Loading project: /media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/audit_logger/gen_csharp/audit_logger.csproj
Successfully loaded project file '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/audit_logger/gen_csharp/audit_logger.csproj'.
Adding project '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/audit_logger/gen_csharp/audit_logger.csproj'
Loading project: /media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/facenet/gen_csharp/facenet.csproj
Successfully loaded project file '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/facenet/gen_csharp/facenet.csproj'.
Adding project '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/facenet/gen_csharp/facenet.csproj'
Loading project: /media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/health_check/gen_csharp/health_check.csproj
Successfully loaded project file '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/health_check/gen_csharp/health_check.csproj'.
Adding project '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/health_check/gen_csharp/health_check.csproj'
Loading project: /media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/midas/gen_csharp/midas.csproj
Successfully loaded project file '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/midas/gen_csharp/midas.csproj'.
Adding project '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/midas/gen_csharp/midas.csproj'
Loading project: /media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/tessocr/gen_csharp/tessocr.csproj
Successfully loaded project file '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/tessocr/gen_csharp/tessocr.csproj'.
Adding project '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/lib/namku_grpc/services/tessocr/gen_csharp/tessocr.csproj'
Loading project: /media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/src/FaissBalancer.csproj
The "ProtoCompile" task failed unexpectedly.
System.MissingMethodException: Method not found: void Microsoft.Build.Utilities.ToolTask.set_UseCommandProcessor(bool)
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute () [0x00029] in <4e0a1f1d78cf4c1ebd6f9a3dbcebf3bb>:0
at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask (Microsoft.Build.BackEnd.ITaskExecutionHost taskExecutionHost, Microsoft.Build.BackEnd.Logging.TaskLoggingContext taskLoggingContext, Microsoft.Build.BackEnd.TaskHost taskHost, Microsoft.Build.BackEnd.ItemBucket bucket, Microsoft.Build.BackEnd.TaskExecutionMode howToExecuteTask) [0x00212] in <4e0a1f1d78cf4c1ebd6f9a3dbcebf3bb>:0
Failed to load project file '/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/src/FaissBalancer.csproj'.
/media/Datos/Symmetrik/DesarrolloSymmetrik/Dev/Microservice/faiss-balancer/src/FaissBalancer.csproj
/home/jose/.nuget/packages/grpc.tools/1.22.0-pre1/build/_protobuf/Google.Protobuf.Tools.targets(264,5): Error: The "ProtoCompile" task failed unexpectedly.
System.MissingMethodException: Method not found: void Microsoft.Build.Utilities.ToolTask.set_UseCommandProcessor(bool)
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute () [0x00029] in <4e0a1f1d78cf4c1ebd6f9a3dbcebf3bb>:0
at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask (Microsoft.Build.BackEnd.ITaskExecutionHost taskExecutionHost, Microsoft.Build.BackEnd.Logging.TaskLoggingContext taskLoggingContext, Microsoft.Build.BackEnd.TaskHost taskHost, Microsoft.Build.BackEnd.ItemBucket bucket, Microsoft.Build.BackEnd.TaskExecutionMode howToExecuteTask) [0x00212] in <4e0a1f1d78cf4c1ebd6f9a3dbcebf3bb>:0
VSCode version: 1.37.1
C# Extension: 1.21.1
Mono Information
OmniSharp using built-in mono
Dotnet Information
.NET Core SDK (reflecting any global.json):
Version: 3.0.100-preview8-013656
Commit: 8bf06ffc8d
Runtime Environment:
OS Name: ubuntu
OS Version: 18.04
OS Platform: Linux
RID: ubuntu.18.04-x64
Base Path: /home/jose/dotnet/sdk/3.0.100-preview8-013656/
Host (useful for support):
Version: 3.0.0-preview8-28405-07
Commit: d01b2fb7bc
.NET Core SDKs installed:
3.0.100-preview8-013656 [/home/jose/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.App 3.0.0-preview8.19405.7 [/home/jose/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.0.0-preview8-28405-07 [/home/jose/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
Visual Studio Code Extensions
|Extension|Author|Version|
|---|---|---|
|bracket-pair-colorizer-2|CoenraadS|0.0.28|
|cpptools|ms-vscode|0.25.1|
|csharp|ms-vscode|1.21.1|
|dotenv|mikestead|1.0.1|
|dotnet-test-explorer|formulahendry|0.7.1|
|gitconfig|sidneys1|2.0.1|
|gitflow|vector-of-bool|1.2.1|
|JavaScriptSnippets|xabikos|1.7.2|
|jinjahtml|samuelcolvin|0.10.5|
|markdown-all-in-one|yzhang|2.4.2|
|markdown-preview-enhanced|shd101wyy|0.4.3|
|material-icon-theme|PKief|3.9.0|
|night-owl|sdras|1.1.3|
|npm-intellisense|christian-kohler|1.3.0|
|pgformatter|bradymholt|1.7.0|
|prettier-vscode|esbenp|2.2.2|
|python|ms-python|2019.8.30787|
|rainbow-csv|mechatroner|1.3.1|
|swdc-vscode|softwaredotcom|1.1.26|
|vetur|octref|0.22.2|
|vscode-ant-design-vue-helper|ant-design-vue|1.0.6|
|vscode-coverage-gutters|ryanluker|2.4.0|
|vscode-django|batisteo|0.19.0|
|vscode-docker|ms-azuretools|0.7.0|
|vscode-eslint|dbaeumer|1.9.1|
|vscode-jumpy|wmaurer|0.3.1|
|vscode-proto3|zxh404|0.3.0|
|vscode-status-bar-format-toggle|tombonnike|1.5.0|
|vue-vscode-extensionpack|sdras|0.2.0|
|vue-vscode-snippets|sdras|1.8.0|
|wordpress-snippet|tungvn|1.1.5|;
@nguerrera Do you have an idea what the ProtoCompile task is and why it might be failing here ?
I don't know what it is yet, but it seems to be due to binding it to an older version of msbuild than what has this defined:
System.MissingMethodException: Method not found: void Microsoft.Build.Utilities.ToolTask.set_UseCommandProcessor(bool)
Hmm, that property is pretty ancient.
So, the net45 copy of Protobuf.MSBuild.dll references Microsoft.Build.Utilities.v4.0, and it appears that wherever that is coming from doesn't have void Microsoft.Build.Utilities.ToolTask.set_UseCommandProcessor(bool)
Looks like Microsoft.Build.Utilities.v4.0 comes from mono, and not from msbuild:
"C:\Users\nicholg\Downloads\omnisharp-osx\lib\mono\gacMicrosoft.Build.Utilities.v4.0\4.0.0.0__b03f5f7f11d50a3aMicrosoft.Build.Utilities.v4.0.dll"
https://github.com/mono/mono/blob/master/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolTask.cs doesn't have UseCommandProcessor
@nguerrera Does that mean it used to exist in previous versions and is no more present, hence updating the mono version would not be helpful ?
@akshita31 It may be the case the mono implementation of this dll never had this property. I don't know. But ideally, nothing would use this old .v4.0 assembly in mono (or full .net framework) and instead use the .Core version that comes with a recent msbuild.
@juntaoluo my recommendation would be to use a MSBuild 15.0+ package reference for both net45 and non-net45 here: https://github.com/grpc/grpc/blob/b7d69ad42533b88c70868dd61ed543c2c8a055da/src/csharp/Grpc.Tools/Grpc.Tools.csproj#L86-L91
cc @Pilchie
cc @rainersigwald
@nguerrera Thanks for the detailed analysis 馃挴
Strong agree on @nguerrera's analysis. Including @radical for Mono MSBuild.
Also including @jamesnk too
Mono adds facade assemblies for Microsoft.Build.{Tasks,Utilities}.v{4,12}.0, which just typeforward to the newer assemblies. But Omnisharp doesn't seem to be copying them over - https://github.com/OmniSharp/omnisharp-roslyn/blob/master/mono-packaging/copy-msbuild.sh#L53-L58 . When I copy the assemblies over manually, the error goes away.
PR for a fix: https://github.com/OmniSharp/omnisharp-roslyn/pull/1595
this wss discussed here https://github.com/grpc/grpc/pull/19589 but never merged
the fix from @radical looks good to me for the embedded mono flow 馃憤
however OmniSharp can also run on global mono (in fact it will prefer that if found) which still wouldn't work
The issue will be fixed in the next release of the extension. Thanks @radical for the prompt response 馃
I have the same problem.
VSCode version: 1.38.1
C# Extension: 1.21.3
Happy to see a PR merged, but, what is the expected release date? Do you work with regular or irregular releases?
Same issue found on MacOS, Any ETA of the release including the fix? Or any workaround could make my project goes on?
Thanks.
@akshita31 the issue is still there with the 1.21.5 release which as far as I can tell has OmniSharp 1.34.5 which should have @radical changes, but I still get the same error
/home/ahmed/.nuget/packages/grpc.tools/2.23.0/build/_protobuf/Google.Protobuf.Tools.targets(264,5): Error: The "ProtoCompile" task failed unexpectedly.
System.MissingMethodException: Method not found: void Microsoft.Build.Utilities.ToolTask.set_UseCommandProcessor(bool)
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute () [0x00029] in <b695b16788dd418cbe8b4d98f7a92ff3>:0
at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask (Microsoft.Build.BackEnd.ITaskExecutionHost taskExecutionHost, Microsoft.Build.BackEnd.Logging.TaskLoggingContext taskLoggingContext, Microsoft.Build.BackEnd.TaskHost taskHost, Microsoft.Build.BackEnd.ItemBucket bucket, Microsoft.Build.BackEnd.TaskExecutionMode howToExecuteTask) [0x002a9] in <b695b16788dd418cbe8b4d98f7a92ff3>:0
Repro:
$ dotnet new grpc -o GrpcGreeter
$ cd GrpcGreeter
$ code .
$ dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 3.0.100
Commit: 04339c3a26
Runtime Environment:
OS Name: ubuntu
OS Version: 18.04
OS Platform: Linux
RID: ubuntu.18.04-x64
Base Path: /usr/share/dotnet/sdk/3.0.100/
Host (useful for support):
Version: 3.0.0
Commit: 95a0a61858
.NET Core SDKs installed:
3.0.100 [/usr/share/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.App 3.0.0 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.0.0 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
this is a duplicate of https://github.com/OmniSharp/omnisharp-roslyn/issues/1481
see https://github.com/OmniSharp/omnisharp-roslyn/issues/1481#issuecomment-546593870 for the "status update"
just updated to vscode 1.40.2 + ms-vscode.csharp 1.21.8 on my laptop and checked in on this issue for the first time in a while, and the fix appears to have landed, but ymmv
Most helpful comment
Same issue found on MacOS, Any ETA of the release including the fix? Or any workaround could make my project goes on?
Thanks.