3

所以现在尝试在 OS X 上测试新的 Visual Studio Code,但遇到了无数问题。

现在已经解决了 dnu 命令的问题,但现在遇到了问题: dnx . kestrel

这与Visual Studio Code中的Commands with Ease部分有关,并且在我的终端中显示以下错误消息。到目前为止,一步一步地遵循了一切,但仍然存在问题。

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

希望大家能帮忙。

4

2 回答 2

6

尝试从 \samples\latest 文件夹而不是 \samples\1.0.0-beta4 文件夹运行时,我遇到了类似的问题。只是从我应该工作的地方再试一次。

于 2015-05-04T02:09:03.767 回答
0

如果您使用的运行时版本仍在使用,IApplicationEnvironment而不是 only IHostingEnvironment,那么问题是 DNVM 找不到默认运行时。

可能是因为未安装运行时,或者global.json文件未正确配置 Visual Studio。

解决方案:

  • 要确保已安装目标运行时版本,请在终端中键入:
    dnvm list
  • 如果运行时尚未列出(不在列表中),则安装它
    dnvm install <runtime> -a <architecture> -r <runtime>
    (例如:
    dnvm install 1.0.0-rc1-update2 -a x64将安装指定运行时的 x64 版本
    dnvm install 1.0.0-rc1-update2 -r clr将安装运行时的 clr 版本)

    您还可以将指定运行时设置为默认值激活,并使您的设置持久化

  • 在这个阶段,您可能可以从 cmd 运行您的应用程序

  • 为了能够从 Visual Studio 运行它,您必须在global.json文件中指定正确的运行时版本,该文件必须位于项目文件夹上方 2 个节点:(../GlobalJsonPlace/src/ProjectFolder/.. )
    如果您没有global.json文件,请创建它。它应该是这样的:

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

注意:src是文件夹的名称,其中包含项目的文件夹。

  • 重新加载您的 VS 实例,它应该能够运行您的应用程序。
于 2017-01-17T07:59:40.217 回答