我已经使用 https://github.com/aspnet/Home 上的说明升级了 DNX 我还为 Visual Studio 2015 下载了 DotNetVersionManager-x64.msi 但是当我创建一个新项目并运行网站时,我收到以下错误
Could not load file or assembly 'dnx.clr.managed' or one of its dependencies. The system cannot find the file specified.
当我尝试从 dnx 命令行运行网站时,我得到以下信息
C:\code> dnx web
stem.InvalidOperationException:没有针对“Microsoft.Framework.Runtime.IApplicationEnvironment”类型的服务已注册
特雷德。
在 Microsoft.Framework.DependencyInjection.ServiceProviderExtensions.GetRequiredService(IServiceProvider provider, Ty
服务类型)
在 Microsoft.Framework.DependencyInjection.ServiceProviderExtensions.GetRequiredService[T](IServiceProvider provider)
在 Microsoft.AspNet.Hosting.Program.Main(String[] args)
- 从上一个抛出异常的位置开始的堆栈跟踪结束 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 Microsoft.Dnx.Runtime.Common.EntryPointExecutor.Execute(Assembly assembly, String[] args, IServiceProvider service
提供者)
在 Microsoft.Dnx.ApplicationHost.Program.ExecuteMain(DefaultHost host, String applicationName, String[] args)
在 Microsoft.Dnx.ApplicationHost.Program.Main(String[] args)
- 从上一个抛出异常的位置开始的堆栈跟踪结束 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 Microsoft.Dnx.Runtime.Common.EntryPointExecutor.Execute(Assembly assembly, String[] args, IServiceProvider service
提供者)
在 Microsoft.Dnx.Host.Bootstrapper.RunAsync(List`1 args, IRuntimeEnvironment env, FrameworkName targetFramework)
在 Microsoft.Dnx.Host.RuntimeBootstrapper.ExecuteAsync(String[] args, FrameworkName targetFramework)
在 Microsoft.Dnx.Host.RuntimeBootstrapper.Execute(String[] args, FrameworkName targetFramework)
最佳答案
看起来 beta7 不再带有 dnx.clr.managed.dll (及其依赖项)。我已经通过以下步骤解决了这个问题:
您可以通过在 global.json 中查找以下节点来检查您的 global.json 文件是否需要 beta7:
"sdk": {
"version": "1.0.0-beta7",
"runtime": "clr",
"architecture": "x86"
}
如果您的项目一直在寻找 dnx.clr.managed.dll(及其依赖项),您可以手动编辑您的 project.json 文件(存储依赖项并替换旧的 cs.proj 和 vb.proj 文件),以指向到预期的 dnx 运行时版本,例如:
"dependencies": {
"Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta5"
},
被编辑为:
"dependencies": {
"Microsoft.AspNet.Server.IIS": "1.0.0-beta7",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta7"
},
保存更改后,您必须 恢复 依赖项。一种方法是使用终端 (CMD) 导航到 ProjectName/src/ProjectName/文件夹(project.json 文件所在的位置),然后执行
dnu restore
命令。希望它会成功请求新的依赖项,并且您已准备好开始。
PS.:我没有尝试使用 x64 设置运行,因为免费/共享应用程序可能(?)与 64 位平台设置不兼容。如果我错了,请随时纠正我。
关于visual-studio - 将 VS2015 升级到 asp.net 5 beta7 我得到无法加载文件或程序集 'dnx.clr.managed' 或其依赖项之一,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32387052/