尝试在 Ubuntu 上运行新创建的 ASP.NET vNext 项目,但出现错误



我想尝试新的 ASP.NET 5(也称为vNext?),所以我下载了ubuntu-14.04.2-server-amd64.iso,安装在VMware Player中并运行。

安装后,我运行以下命令:

  • sudo apt-get 更新
  • sudo apt-get upgrade
  • sudo apt-get install nodejs-legacy npm
  • sudo npm install -g gulp
  • 须藤 npm install -g bower

参考 https://github.com/aspnet/home,我按照以下步骤操作:

  1. 获取单声道
  2. 获取 libuv
  3. 获取 DNVM
  4. 将源添加到 NuGet.config

然后,我在"ASP.NET 5 预览模板"(Visual Studio Community 2015 RC)中选择"网站"创建一个 ASP.NET 项目。我将整个项目文件夹上传到在VMware Player中运行的ubuntu服务器。

只需再次按照以下步骤操作:

  1. CD 到项目文件夹
  2. 糖核酸还原

(下载并安装... 写入锁定文件/home/ubuntu/vNext/WebApplication1/src/WebApplication1/project.lock.json npm WARN package.json ASP.NET@0.0.0 无描述 npm WARN package.json ASP.NET@0.0.0 无存储库字段。 npm WARN package.json ASP.NET@0.0.0 无自述文件数据 [18:04:44] 警告:gulp 版本不匹配: [18:04:44] 全局吞咽是 3.9.0 [18:04:44] 本地吞咽是 3.8.11 [18:04:44] 使用 gulpfile ~/vNext/WebApplication1/src/WebApplication1/gulpfile.js [18:04:44] 开始"干净"... [18:04:44] 5.43 毫秒后完成"清理" [18:04:44] 开始"复制"... [18:04:44] 16 毫秒后完成"复制" 恢复完成,217628ms 已用

  1. 红隼

系统无效操作异常:无法解决以下问题 目标框架"DNX,版本=v4.5.1"的依赖项: EntityFramework.Commands 7.0.0-beta4 EntityFramework.SqlServer 7.0.0-beta4 Microsoft.AspNet.Authentication.Cookies 1.0.0-beta4 Microsoft.AspNet.Authentication.Facebook 1.0.0-beta4 Microsoft.AspNet.Authentication.Google 1.0.0-beta4 Microsoft.AspNet.Authentication.MicrosoftAccount 1.0.0-beta4 Microsoft.AspNet.Authentication.Twitter 1.0.0-beta4 Microsoft.AspNet.Diagnostics 1.0.0-beta4 Microsoft.AspNet.Diagnostics.Entity 7.0.0-beta4 Microsoft.AspNet.Identity.EntityFramework 3.0.0-beta4 Microsoft.AspNet.Mvc 6.0.0-beta4 Microsoft.AspNet.Mvc.TagHelpers 6.0.0-beta4 Microsoft.AspNet.Server.IIS 1.0.0-beta4 Microsoft.AspNet.Server.WebListener 1.0.0-beta4 Microsoft.AspNet.StaticFiles 1.0.0-beta4 Microsoft.AspNet.Tooling.Razor 1.0.0-beta4 Microsoft.Framework.CodeGenerators.Mvc 1.0.0-beta4 Microsoft.Framework.ConfigurationModel.Json 1.0.0-beta4 Microsoft.Framework.ConfigurationModel.UserSecrets 1.0.0-beta4 Microsoft.框架.日志记录 1.0.0-beta4 Microsoft.框架.日志记录.控制台 1.0.0-beta4 Microsoft.VisualStudio.Web.BrowserLink.Loader 14.0.0-beta4 搜索位置: /home/ubuntu/vNext/{name}/project.json /home/ubuntu/vNext/WebApplication1/src/{name}/project.json /home/ubuntu/vNext/WebApplication1/test/{name}/project.json /usr/lib/mono/4.5/{name}.dll /usr/lib/mono/4.5/Facades/{name}.dll 尝试运行"dnu 还原"。

at Microsoft.Framework.ApplicationHost.Program.Main (System.String[] args) [0x00000] in :0

错误来了

我尝试在项目文件夹中运行"dnu restore -s https://www.myget.org/F/aspnetvnext/api/v2/",但遇到了其他一些错误

(download and install ... )
[17:48:08] Warning: gulp version mismatch:
[17:48:08] Global gulp is 3.9.0
[17:48:08] Local gulp is 3.8.11
[17:48:08] Using gulpfile ~/vNext/WebApplication1/src/WebApplication1/gulpfile.js
[17:48:08] Starting 'clean'...
[17:48:08] Finished 'clean' after 2.25 ms
[17:48:08] Starting 'copy'...
[17:48:08] Finished 'copy' after 20 ms
Restore complete, 358056ms elapsed
Errors in `/home/ubuntu/vNext/WebApplication1/src/WebApplication1/project.json
    Unable to locate Microsoft.VisualStudio.Web.BrowserLink.Loader >= 14.0.0-beta4
    Unable to locate Newtonsoft.Json >= 6.0.6
    Unable to locate System.Collections.Immutable >= 1.1.36
    Unable to locate System.Reflection.Metadata >= 1.0.21
    Unable to locate Ix-Async >= 1.2.3
    Unable to locate Remotion.Linq >= 2.0.0-alpha-002

所以,问题是,我做错了什么,还是Visual Studio 2015 RC创建的默认 ASP.NET vNext项目无法在Ubuntu(和其他Linux发行版)下运行?

我相信

您的应用程序针对的是完整的.NET 4.5.1框架,该框架仅适用于Windows。您可以将 DNX 与 一起使用。NET451(Windows),.NET Core(跨平台)和Mono(跨平台)。

尝试以 .NET Core 为目标。另一种选择是使用 Yeoman 创建一个"Linux 方式"的新项目。

输出要点:

System.InvalidOperationException: Failed to resolve the following dependencies for target framework 'DNX,Version=v4.5.1'

还有一些IIS引用是:)

Microsoft.AspNet.Server.IIS 1.0.0-beta4

最新更新