根据"Version Manager" documentation(dnvm,参考:https://github.com/aspnet/Home/wiki/Version-Manager),当使用命令-g
时,我应该能够提供-global
或use
参数。
说明文件:
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
我做错了什么,或者我误插入了文档?
最佳答案
dnvm
的选项在每个beta版本中都会更改。您应小心使用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
查看当前安装的.NET版本管理器的use
命令的选项。它的
在我当前的计算机上。因此,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当前命令行的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
开关安装该版本。例如
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
。