使DNVM使用设置全局(机器)

时间:2016-01-18 13:07:19

标签: asp.net-core kvm .net-core dnvm

根据"Version Manager" documentation(dnvm,ref:https://github.com/aspnet/Home/wiki/Version-Manager),我应该能够在使用命令-g时提供-globaluse参数

文档:

 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

我做错了什么,或者我是否错误地处理了文档?

2 个答案:

答案 0 :(得分:4)

每个测试版都会更改dnvm的选项。您应谨慎使用the wikithe 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查看当前安装的.NET版本管理器的use命令选项。这是

enter image description here

在我当前的电脑上。因此dnvm use不应支持-g选项。

一般来说,dnvm use做的事很简单。您可以检查计算机上%USERPROFILE%\.dnx\runtimes的文件夹。您将看到dnx-clr-win-x64.1.0.0-rc1-update1dnx-coreclr-win-x64.1.0.0-rc1-update1等目录。目录中的每个人都有自己的dnx.exe,例如%USERPROFILE%\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-rc1-update1\bin\dnx.exednvm 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

答案 1 :(得分:-1)

您没有管道DNX的PATH,文档指定您必须这样做才能添加机器PATH。请试试这个并告诉我们这是否有用。