System.InvalidOperationException: 当前运行时目标框架与 'HelloWorld' 不兼容

System.InvalidOperationException: The current runtime target framework is not compatible with 'HelloWorld'

我正在尝试 运行 第一个带有 .net 5 和 visual studio 代码的 helloword 应用程序。

如果我输入 dnvm 列表,我有这个:

Active Version           Runtime Architecture OperatingSystem Alias
------ -------           ------- ------------ --------------- -----
       1.0.0-beta4       clr     x64          win
       1.0.0-beta4       clr     x86          win
       1.0.0-beta4       coreclr x64          win
       1.0.0-beta4       coreclr x86          win
       1.0.0-beta4-11566 clr     x64          win
       1.0.0-beta4-11566 clr     x86          win
       1.0.0-beta4-11566 coreclr x64          win
       1.0.0-beta5       clr     x86          win
       1.0.0-beta5       coreclr x86          win
  *    1.0.0-rc1-update1 clr     x64          win             default
       1.0.0-rc1-update1 clr     x86          win
       1.0.0-rc1-update1 coreclr x64          win
       1.0.0-rc1-update1 coreclr x86          win

而我的 project.json 很简单:

{
    "frameworks": {
        "dnx451":{}
    }
}

但是当我 运行 文件夹上带有 DNX 运行 的应用程序时,我收到此错误

System.InvalidOperationException: The current runtime target framework is not compatible with 'HelloWorld'.
Current runtime target framework: 'DNXCore,Version=v5.0 (dnxcore50)'
 Version:      1.0.0-rc1-16231
 Type:         CoreClr
 Architecture: x64
 OS Name:      Windows
 OS Version:   10.0
 Runtime Id:   win10-x64

Please make sure the runtime matches a framework specified in project.json
   at Microsoft.Dnx.ApplicationHost.DefaultHost.GetEntryPoint(String applicationName)
   at Microsoft.Dnx.ApplicationHost.Program.ExecuteMain(DefaultHost host, String applicationName, String[] args)
   at Microsoft.Dnx.ApplicationHost.Program.Main(String[] args)
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Dnx.Runtime.Common.EntryPointExecutor.Execute(Assembly assembly, String[] args, IServiceProvider serviceProvider)
   at Microsoft.Dnx.Host.Bootstrapper.RunAsync(List`1 args, IRuntimeEnvironment env, String appBase, FrameworkName targetFramework)
   at Microsoft.Dnx.Host.RuntimeBootstrapper.ExecuteAsync(String[] args, BootstrapperContext bootstrapperContext)
   at Microsoft.Dnx.Host.RuntimeBootstrapper.Execute(String[] args, BootstrapperContext bootstrapperContext)

d:\P\HelloWorld>

当我 运行 在新的控制台命令上使用 dnx 运行 程序时,它确实有效。 但是,当我 运行 在 vs 2015 命令提示符下使用 dnx 运行 的程序时,我使用了 dnvm use 命令,它工作得很好。

在我看来,与 -p 持久参数一起使用的 dnvm 无法正常工作,因为在第二个命令提示符下它尝试使用 coreclr,即使默认和活动框架仅为 clr。

然后回答 Yeoman,project.json 完全没问题,我没有修改任何东西 运行