2016-01-18 8 views
3

Согласно "Version Manager" documentation (DNVM, исх: https://github.com/aspnet/Home/wiki/Version-Manager) я должен быть в состоянии обеспечить параметр -g или -global при использовании команды use.Сделать DNVM использовать настройки глобальной (машины)

Документация:

dnvm use <semver>|<alias>|none [-x86][-x64] [-svr50][-svrc50] [-p|-persistent] [-g|-global] 

    | add DNX bin to path of current command line 
    none remove DNX bin from path of current command line 
    -p|-persistent add DNX bin to PATH environment variables persistently 
    -g|-global combined with -p to change machine PATH instead of user PATH 

Но когда я выполняю это, я получаю следующее сообщение об ошибке:

C:\Repos\X\AbsenceRequests\AbsenceRequests\AbsenceRequests.Data.EF>dnvm use 1.0. 
0-rc1-update1 -p -g 
Invoke-Command : A parameter cannot be found that matches parameter name 'g'.At 
C:\Users\OSCHELPEY\.dnx\bin\dnvm.ps1:1905 char:9 
+   Invoke-Command ([ScriptBlock]::Create("dnvm-$cmd $cmdargs")) 
+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidArgument: (:) [Invoke-Command], Parameter 
    BindingException 
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Comm 
    ands.InvokeCommandCommand 

Что я делаю не так, или я misinterpeting документацию?

ответ

4

Варианты dnvm будут изменены в каждой бета-версии. Вы должны быть осторожны при использовании the wiki или the documentation, поскольку информация не всегда соответствует текущей версии версии dnvm.

Если вы запустите dnvm без параметров или с параметром version (dnvm version), вы увидите текущую версию Менеджера версий .NET. Это v1.0.0-rc2-15546 у меня. Если у вас есть более старая версия, вы можете обновить ее, используя dnvm update-self. Он использует dnvm.ps1 от https://github.com/aspnet/Home/ для самообновления.

Вы можете использовать dnvm help use, чтобы просмотреть параметры команды use текущего установленного диспетчера версий .NET. Это

enter image description here

на моем текущем компьютере. Таким образом, dnvm use не должен поддерживать опцию -g.

В целом dnvm use делать очень простые вещи. Вы можете изучить папки %USERPROFILE%\.dnx\runtimes на вашем компьютере. Вы увидите каталоги, такие как dnx-clr-win-x64.1.0.0-rc1-update1, dnx-coreclr-win-x64.1.0.0-rc1-update1 и так далее. Каждый из каталога имеет свой собственный dnx.exe, например %USERPROFILE%\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-rc1-update1\bin\dnx.exe. dnvm use просто изменяет путь к текущей командной строке PATH пользователя:

C:\Users\Oleg>dnvm use 1.0.0-rc1-update1 -a x64 -r coreclr -p 
Adding C:\Users\Oleg\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-rc1-update1\bin to process PATH 
Adding C:\Users\Oleg\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-rc1-update1\bin to user PATH 

C:\Users\Oleg>dnvm use 1.0.0-rc1-update1 -a x64 -r coreclr 
Adding C:\Users\Oleg\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-rc1-update1\bin to process PATH 

Переключатель -g существует, например, для dnvm install. Вы можете убедиться, что у вас нет какой-либо версии dnx или удалить ее, а затем вы можете установить версию с помощью переключателя -g.

enter image description here

Например

C:\Windows\System32>dnvm uninstall 1.0.0-rc1-final 
Removed 'C:\Users\Oleg\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-final' 

C:\Windows\System32>dnvm install 1.0.0-rc1-final -g 
Downloading dnx-clr-win-x86.1.0.0-rc1-final from https://www.nuget.org/api/v2 
Installing to C:\ProgramData\Microsoft DNX\runtimes\dnx-clr-win-x86.1.0.0-rc1-final 
Adding C:\ProgramData\Microsoft DNX\runtimes\dnx-clr-win-x86.1.0.0-rc1-final\bin to process PATH 

Вы увидите, что DNX будет установлен в %ProgramData%\Microsoft DNX\runtimes вместо %USERPROFILE%\.dnx\runtimes.

Таким образом dnvm действительно поддерживает -g переключатель, но не для dnvm use.

+0

Спасибо за четкое объяснение. У меня есть версия RC2 (последняя), как и вы. Я это подтвердил. Документация, однако, однажды показала использование «-g» в «dnvm use» - слишком плохо, что было отброшено. Я напишу github-вопрос, а затем в репозитории документации, что это уже недействительно. –

+0

@YvesSchelpe: Добро пожаловать! – Oleg

-1

Вы не передали PATH из DNX, который, как указано в документации, необходимо сделать, чтобы добавить машину PATH. Попробуйте это и сообщите нам, если это не сработает.