2015-05-03 4 views
3

Итак, сейчас мы пытаемся проверить новый код Visual Studio на OS X, но сталкиваемся с множеством проблем.Service Missing for type 'Microsoft.Framework.Runtime.IApplicationEnvironment

Сейчас уже разберется вопрос с командой ДНУ, но теперь возникли проблемы с: dnx . kestrel

Это было бы по отношению к командам с легкостью участком от Visual Studio Code и имеющего следующего сообщения об ошибке показанный в моем терминале. До сих пор все шаг за шагом и все еще имело проблемы.

System.InvalidOperationException: No service for type 'Microsoft.Framework.Runtime.IApplicationEnvironment' has been registered. 
     at Microsoft.Framework.DependencyInjection.ServiceProviderExtensions.GetRequiredService (IServiceProvider provider, System.Type serviceType) [0x00000] in <filename unknown>:0 
     at Microsoft.Framework.DependencyInjection.ServiceProviderExtensions.GetRequiredService[IApplicationEnvironment] (IServiceProvider provider) [0x00000] in <filename unknown>:0 
     at Microsoft.AspNet.Hosting.HostingEngine..ctor (IServiceProvider fallbackServices) [0x00000] in <filename unknown>:0 
     at Microsoft.AspNet.Hosting.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0 
     at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) 
     at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
    --- End of stack trace from previous location where exception was thrown --- 
     at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x00000] in <filename unknown>:0 
     at Microsoft.Framework.Runtime.Common.EntryPointExecutor.Execute (System.Reflection.Assembly assembly, System.String[] args, IServiceProvider serviceProvider) [0x00000] in <filename unknown>:0 
     at Microsoft.Framework.ApplicationHost.Program.ExecuteMain (Microsoft.Framework.Runtime.DefaultHost host, System.String applicationName, System.String[] args) [0x00000] in <filename unknown>:0 
     at Microsoft.Framework.ApplicationHost.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0 
    --- End of stack trace from previous location where exception was thrown --- 
     at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x00000] in <filename unknown>:0 
     at Microsoft.Framework.Runtime.Common.EntryPointExecutor.Execute (System.Reflection.Assembly assembly, System.String[] args, IServiceProvider serviceProvider) [0x00000] in <filename unknown>:0 
     at dnx.host.Bootstrapper.RunAsync (System.Collections.Generic.List`1 args) [0x00000] in <filename unknown>:0 

Надеюсь, вы, ребята, можете помочь.

+0

На данный момент кажется, что я отсортирован, извлечен и удален из имеющихся пакетов, а затем переделал процесс. – daliso

ответ

6

У меня была аналогичная проблема при попытке запустить из папки \ samples \ latest вместо папки \ samples \ 1.0.0-beta4. Просто попробуйте снова, откуда я должен был работать.

+0

У меня такая же проблема с обоими папками – TlonXP

+0

По какой-то нечетной причине dnx. kestrel решил работать после строительных лесов и восстанавливать пакеты NuGet, но, похоже, это хит и промах с dnx. веб. В любом случае, спасибо за ответ :) – daliso

0

Если вы используете версию во время выполнения, которая по-прежнему использует IApplicationEnvironment вместо IHostingEnvironment, то проблема в том, что DNVM не может найти исполняемую по умолчанию.

Это может быть связано с тем, что среда выполнения не установлена ​​или Visual Studio не настроен правильно global.json.

Решение:

  • , чтобы убедиться, был установлен целевой вариант выполнения, типа в терминале:
    dnvm list
  • если среда выполнения не были перечислены (нет в списке), установите его с
    dnvm install <runtime> -a <architecture> -r <runtime>
    (например:
    dnvm install 1.0.0-rc1-update2 -a x64 будет установить 64-разрядную версию этого specifie d выполнения
    или dnvm install 1.0.0-rc1-update2 -r clr бы установить версию CLR среды выполнения)

    Вы также можете установить заданное время работы в качестве default, active, and make your settings persistent.

  • на этом этапе вы, вероятно, может запустить приложение из CMD

  • для того, чтобы чтобы запустить его из Visual Studio, вы должны указать правильную версию времени исполнения в файле global.json, который должен быть расположен на 2 узла над папкой проекта: (../GlobalJsonPlace/src/ProjectFolder/ ..)
    Если у вас нет файла global.json, создайте его. Это должно быть что-то вроде:

{ "projects": [ "src", "test" ], "sdk": { "version": "1.0.0-rc1-update2" } }

Примечание: ЦСИ это имя папки, которая содержит папку проекта.

  • перезагрузите экземпляр VS, и он должен иметь возможность запускать ваше приложение.