2016-01-10 3 views
0

Я пытаюсь запустить первое приложение helloword с .net 5 и визуальным кодом студии.System.InvalidOperationException: текущая целевая среда выполнения не совместима с 'HelloWorld'

Если я вхожу 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 прост:

Но когда я запустить приложение с DNX RUN на папке я получаю это ошибка

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> 
+0

Не могли бы вы предоставить полный проект, который вы используете? Какой проект вы использовали (консольное приложение или веб-приложение)? Как именно вы пытались запустить приложение? Вы писали о «DNX RUN», но не совсем понятно, что вы сделали точно. – Oleg

+0

его визуальный код студии, так что нет полного проекта просто project.json и файла program.cs с основным методом с консолью.writeline –

+0

http://screencast.com/t/jLFfi7IuW2nP –

ответ

0

Когда я запускаю программу с запуском dnx на новой консольной команде, она работает. Однако, когда я запускаю программу с запуском dnx в командной строке vs 2015, где я использовал команду использования dnvm, она отлично работает.

Мне кажется, что использование dnvm с постоянным параметром -p работает некорректно, потому что во второй командной строке он пытается использовать coreclr, даже если стандартная и активная структура - только clr.

и ответить YEOMAN, то project.json абсолютно нормально, я не изменить что-нибудь, чтобы запустить

+0

вы должны открыть новую консольную командную строку и ввести 'dnvm list' внутри командной строки. Если вы действительно видите '* 1.0.0-rc1-update1 clr x64 win default', тогда' dnx run' в той же командной строке тоже должен работать (вам нужно изменить текущий каталог до) – Oleg

+0

, но в первой консоли я использовал dnvm для использования с параметр -p, который поддерживается, чтобы заставить его работать в любой новой консоли. –

+0

Знаете ли вы, что каждый процесс имеет собственное пространство среды, в котором содержатся переменные среды, включая 'PATH'? Приложение наследует пространство среды от родительского процесса. Используя -p, вы можете изменить 'PATH' пользователя для * новых процессов ** или для процессов. Он просто модифицирует 'PATH' в реестре в разделе« HKEY_CURRENT_USER \ Environment »и отправляет сообщение« WM_SETTINGCHANGE »всем в верхних окнах. Explorer ждет 'WM_SETTINGCHANGE' и обновляет пространство среды, но ранее не запускал cmds. Если вы запустите * new * cmd из Проводника, вы получите обновленный PATH (можете запустить 'dnvm list') – Oleg

Смежные вопросы