скрипты в Ubuntu для VScode CodeRunner - ошибка с «McMaster.Extensions.CommandLineUtils» - PullRequest
0 голосов
/ 10 января 2020

Я использую VSCODE версии 1.40.2 на Linux:

$ lsb_release -a
LSB Version:    core-9.20170808ubuntu1-noarch:printing-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Description:    Linux Mint 19.1 Tessa

Я установил CodeRunner и поэтому пытаюсь заставить работать скрипты.

В конце сборки У меня был файл scriptcs.exe, и, очевидно, мне пришлось запустить его с помощью mono, потому что это исполняемый файл windows. Итак, у меня теперь есть скрипт, который выполняет:

#!/bin/sh
echo "Running $0 ..."
echo "With argument ->$@<-"
mono ~/Dropbox/Coding/dotNET/scriptcs/src/ScriptCs/bin/Release/net461/scriptcs.exe $@

Если я пытаюсь запустить его из VSCode или из окна моего терминала: я получаю неприятную ошибку: ошибка System.IO.FileNotFoundException: не удалось загрузить файл или сборка 'McMaster.Extensions.CommandLineUtils'

Пожалуйста, помогите !!!!

Вот что я сделал до сих пор:

Сначала установите «mono» a C# Среда выполнения и компилятор https://www.mono-project.com/download/stable/

Проверьте, что моно установлено правильно и работает https://www.mono-project.com/docs/getting-started/mono-basics/ Да, работает!

Теперь перейдем к скриптам. ..

Затем клонируйте «scriptcs» из github и соберите его https://github.com/scriptcs/scriptcs/wiki/Building-on-Mac-and-Linux

Это создало файл scriptcs.exe (фактически 3 из них в obj, bin и тестирует подпапки ..) Я посчитал, что один из "bin" был хорошим

Поскольку мне пришлось запускать его с моно, я создал bash скрипт под названием "scriptcs" (он скопирован выше) Я предоставляю символическую c ссылку на скрипты в / bin, чтобы скрипты могли быть найдены VSCode Coderunner.

an d BOOM не работает:

    $ scriptcs ../mono/hello.cs

    Unhandled Exception:
    System.IO.FileNotFoundException: Could not load file or assembly 'McMaster.Extensions.CommandLineUtils, Version=2.2.5.0, Culture=neutral, PublicKeyToken=6f71cb76b82f055d' or one of its dependencies.
    File name: 'McMaster.Extensions.CommandLineUtils, Version=2.2.5.0, Culture=neutral, PublicKeyToken=6f71cb76b82f055d'
    [ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'McMaster.Extensions.CommandLineUtils, Version=2.2.5.0, Culture=neutral, PublicKeyToken=6f71cb76b82f055d' or one of its dependencies.
    File name: 'McMaster.Extensions.CommandLineUtils, Version=2.2.5.0, Culture=neutral, PublicKeyToken=6f71cb76b82f055d'

hello.cs содержит:

using System;

public class HelloWorld
{
    public static void Main(string[] args)
    {
        Console.WriteLine ("Hello Mono World");
    }
}

Я тоже пытался запустить его из VSCode, и он одинаково не работает

[Running] scriptcs "/home/isischameleon/Dropbox/Coding/dotNET/Recipes/test/RecipesManagement.Core.Tests/tempCodeRunnerFile.cs"
Running /bin/scriptcs ...
With argument ->/home/isischameleon/Dropbox/Coding/dotNET/Recipes/test/RecipesManagement.Core.Tests/tempCodeRunnerFile.cs<-

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'McMaster.Extensions.CommandLineUtils, Version=2.2.5.0, Culture=neutral, PublicKeyToken=6f71cb76b82f055d' or one of its dependencies.
File name: 'McMaster.Extensions.CommandLineUtils, Version=2.2.5.0, Culture=neutral, PublicKeyToken=6f71cb76b82f055d'
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'McMaster.Extensions.CommandLineUtils, Version=2.2.5.0, Culture=neutral, PublicKeyToken=6f71cb76b82f055d' or one of its dependencies.
File name: 'McMaster.Extensions.CommandLineUtils, Version=2.2.5.0, Culture=neutral, PublicKeyToken=6f71cb76b82f055d'

[Done] exited with code=1 in 0.676 seconds

Я даже пытался установить этот недостающий пакет в терминале VSCode, но он тоже не работает ...

  Writing /tmp/tmpByFDTH.tmp
info : Adding PackageReference for package 'McMaster.Extensions.CommandLineUtils' into project '/home/isischameleon/Dropbox/Coding/dotNET/Recipes/test/RecipesManagement.Core.Tests/RecipesManagement.Core.Tests.csproj'.
info : Restoring packages for /home/isischameleon/Dropbox/Coding/dotNET/Recipes/test/RecipesManagement.Core.Tests/RecipesManagement.Core.Tests.csproj...
info :   GET https://api.nuget.org/v3-flatcontainer/mcmaster.extensions.commandlineutils/index.json
info :   OK https://api.nuget.org/v3-flatcontainer/mcmaster.extensions.commandlineutils/index.json 891ms
info :   CACHE https://api.nuget.org/v3-flatcontainer/mcmaster.extensions.commandlineutils/2.5.0/mcmaster.extensions.commandlineutils.2.5.0.nupkg
info : Installing McMaster.Extensions.CommandLineUtils 2.5.0.
error: Access to the path '/home/isischameleon/.nuget/packages/mcmaster.extensions.commandlineutils/2.5.0' is denied.
error:   Permission denied

Спасибо за понимание!

...