vscode-csharp: Archlinux - ms-vscode.csharp - "Error while installing .NET Core Debugger"

From @vindicatorr on July 13, 2016 9:17

  • VSCode Version: 1.3.1
  • OS Version: Archlinux 4.6.3 - KDE 5.7.1
  • Mono Version: 4.3.3

Steps to Reproduce:

  1. Extract VSCode

  2. mkdir test; cd test; dotnet new

  3. Start VSCode and Open Folder for newly created “test”

  4. Enable recommended “ms-vscode.csharp” (and restart VSCode)

    Error while installing .NET Core Debugger
    
  5. View Log

    ...
    Creating /home/username/.vscode/extensions/ms-vscode.csharp-1.2.2/coreclr-debug/project.json
    Telemetry is: Enabled
    
    log  : Restoring packages for /home/username/.vscode/extensions/ms-vscode.csharp-1.2.2/coreclr-debug/project.json...
    
    error: System.IO 4.1.0 provides a compile-time reference assembly for System.IO on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with arch.-x64.
    ...
    log  : Writing lock file to disk. Path: /home/username/.vscode/extensions/ms-vscode.csharp-1.2.2/coreclr-debug/project.lock.json
    
    log  : /home/username/.vscode/extensions/ms-vscode.csharp-1.2.2/coreclr-debug/project.json
    log  : Restore failed in 2012ms.
    
    Error: 
    Errors in /home/username/.vscode/extensions/ms-vscode.csharp-1.2.2/coreclr-debug/project.json
    
    Error:     System.IO 4.1.0 provides a compile-time reference assembly for System.IO on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with arch.-x64.
    ...
    System.Threading.Timer on .NETCoreApp,Version=v1.0, but there is no run-time assembly compatible with arch.-x64.
    One or more packages are incompatible with .NETCoreApp,Version=v1.0 (arch.-x64).
    
    dotnet exited with error code 1
    

That is only part of the issue. The other part relates to omnisharp which I think I’ll be submitting to their repository.

Copied from original issue: Microsoft/vscode#9192

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 23 (10 by maintainers)

Most upvoted comments

@cra0zy we will respect ID_LIKE so actually that will automatically work if I check for ‘arch’.

Okay, I will try and get out a fix for this soon.

@gregg-miskelly this worked thnx! what i did:

  • created .debugger directory in ~/.vscode/extensions/ms-vscode.csharp-1.5.3/.debugger
  • unzipped the content of coreclr-debug-ubuntu.16.04-x64.zip in .debugger
  • chmod +x OpenDebugAD7 and clrdbg (not sure why these two lost their executable properties, maybe zip doesn’t understand those?)
  • open C# project and finally enjoy debugging

for your info: /etc/OS_RELEASE#NAME=“Arch Linux” ID=arch PRETTY_NAME=“Arch Linux” ANSI_COLOR=“0;36” HOME_URL=“https://www.archlinux.org/” SUPPORT_URL=“https://bbs.archlinux.org/” BUG_REPORT_URL=“https://bugs.archlinux.org/” VERSION_ID=“2016.06.20”

VERSION_ID is actually the installed date of the OS so this has nothing to do with the actual version of Arch Linux, Arch Linux is a rolling release distro so everybody that cares a bit for their machine is actually running recent stuff.

What part of code is generating “runtimes” line in “coreclr-debug/project.json”?

EDIT: Never mind, found it, the project is much better organized than I anticipated.