asp.net5发神经一例 ------无法加载依赖

代码就是示例代码,原来根据流程,配置的好好的,突然就不能用了

症状如下:

dnx web
Error: Unable to load application or execute command 'Microsoft.AspNet.Server.Kestrel'. Available commands: web.

通过dnu restore也不管用。查看一下运行环境吧(好像我尝试过升级dnvm update-self):

dnvm
   ___  _  ___   ____  ___
  / _ \/ |/ / | / /  |/  /
 / // /    /| |/ / /|_/ /
/____/_/|_/ |___/_/  /_/
.NET Version Manager v1.0.0-rc2-15546
By Microsoft Open Technologies, Inc.
usage: dnvm <command> [<arguments...>]

dnvm list
Active Version           Runtime Architecture OperatingSystem Alias
------ -------           ------- ------------ --------------- -----
  *    1.0.0-rc1-update1 clr     x86          win             default

一个是rc1,一个是rc2.于是先升级一下,dnvm upgrade,但是提示我是最新的,不需要升级

此时dnx build报错,无法加载依赖,

dnu build
Microsoft .NET Development Utility Clr-x86-1.0.0-rc1-16231

Building HelloWeb for DNX,Version=v4.5.1
  Using Project dependency HelloWeb 1.0.0
    Source: E:\asphome\samples\latest\HelloWeb\project.json
    
  Unable to resolve dependency Microsoft.AspNet.Server.Kestrel 1.0.0

  Unable to resolve dependency Microsoft.AspNet.IISPlatformHandler 1.0.0

  Unable to resolve dependency Microsoft.AspNet.Diagnostics 1.0.0

  Unable to resolve dependency Microsoft.AspNet.Hosting 1.0.0

  Unable to resolve dependency Microsoft.AspNet.StaticFiles 1.0.0

  Unable to resolve dependency Microsoft.Extensions.Logging.Console 1.0.0

  Using GlobalAssemblyCache dependency fx/mscorlib
    Source: C:\WINDOWS\Microsoft.NET\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
    下面还有好长的报错:

我去dnx的路径里查一下包的情况:  .dnx\packages\Microsoft.AspNet.Server.Kestrel

更加确认是rc2引起的问题了。

后来搜索相关信息,发现这个命令:dnvm upgrade -u  就是升级到开发版本。Latest Unstable

dnvm upgrade -u
Determining latest version
Downloading dnx-clr-win-x86.1.0.0-rc2-16319 from https://www.myget.org/F/aspnetvnext/api/v2
Installing to C:\Users\shenj\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc2-16319
Adding C:\Users\shenj\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc2-16319\bin to process PATH
Adding C:\Users\shenj\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc2-16319\bin to user PATH
Updating alias 'default' to 'dnx-clr-win-x86.1.0.0-rc2-16319'

dnvm list

Active Version           Runtime Architecture OperatingSystem Alias
------ -------           ------- ------------ --------------- -----
       1.0.0-rc1-update1 clr     x86          win
  *    1.0.0-rc2-16319   clr     x86          win             default

此时切换到项目路径,直接dnx web,还是失败。dnu restore之后,再运行,就成功了。

总结:

个人认为此次原因是asp.net5升级到rc2引起的,dnu restore时,下载了rc2的包,但运行是环境却升不了级,不匹配。

为什么dnvm upgrade不管用呢?为什么我运行环境没有升级到rc2时,都能restore出来rc2的包,这是一大疑问,是微软的问题吧

我又想到,原来运行时,一直是1.0.0-rc1-final来着,不知道怎么变成1.0.0-rc1-update1了。dnu restore的包不匹配是不是由此引起的呢?

最后,我失望的发现,.dnx/packages里的程序包是多个版本同时存在的,它的体积到目前有1.25GB。比安装.net framework还要坑。

难道是我经常restore的错,不知道有没有清除的命令。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吴老师移动开发

【iOS开发】一些不错的文章博客整理

823
来自专栏张善友的专栏

ASP.NET MVC 2 转换工具

似水流年报告了ASP.NET MVC 2 正式发布,那么我们有许多ASP.NET MVC 1.0的程序需要移植到2.0怎么办呢?Eilon Lipton 已经发...

1949
来自专栏逸鹏说道

Linux上访问SQL Server数据库

.NET跨平台之旅:升级至ASP.NET 5 RC1,Linux上访问SQL Server数据库 今天微软正式发布了ASP.NET 5 RC1(详见Announ...

3235
来自专栏张善友的专栏

文本模板转换工具箱T4

Visual Studio 2008包含了一个文本模板转换工具箱,又称为T4,是领域特定语言工具的一部分,并可用于基于文本模板的方式来生成代码。 一个文本模板是...

1899
来自专栏张善友的专栏

Windows 2008 R2 Server Core .NET环境配置

.NET Framework的部分功能在2008 R2 Server Core得到支持,包括:.NET 2/3/3.5的子集和ASP.NET。另外,PowerS...

2226
来自专栏施炯的IoT开发专栏

Windows Phone 8.0 SDK Update(10322) Released

    昨天微软低调发布了WP 8 SDK的更新,甚至在Windows Phone Developer Blog上都没有提及。     从开发者的角度来看,此次...

1759
来自专栏张善友的专栏

ASP.NET 5 Beta 8 发布

ASP.NET 5 的路线图(详见 ASP.NET 5 Schedule and Roadmap : https://github.com/aspnet/hom...

1999
来自专栏张善友的专栏

用schemaSpy制作数据库文档

Schemaspy是一款Java开发的数据库文档生成工具,是开源的。生成的数据库文档非常的漂亮,实用。最近探索了两天终于会使用这个工具了。我接触到这个工具是在开...

2355
来自专栏.NET开发者社区

(码友推荐)2018-07-30 .NET及相关开发资讯速递

4..NET Core微服务之基于App.Metrics+InfluxDB+Grafana实现统一性能监控

983
来自专栏程序员与猫

ASP.NET Core的Kestrel服务器

原文地址----Kestrel server for ASP.NET Core By Tom Dykstra, Chris Ross, and Stephen ...

4225

扫码关注云+社区

领取腾讯云代金券