【问题标题】:Getting the correct dependencies for .NET Web Api for the latest .NET core为最新的 .NET 核心获取 .NET Web Api 的正确依赖项
【发布时间】:2016-01-14 08:34:27
【问题描述】:

所以我正在尝试创建一个 ASP.NET Web Api 项目,它也可以在 Linux 上运行(使用 .NET Core)。当我在 Visual Studio 中创建一个新的 Web Api 项目时,它看起来像是在 ASP.NET 5 处于 beta5 时使用依赖项和代码脚手架,到目前为止,如果我在 DNX 中使用 beta5 版本,我已经让它工作了用 'dnx web' 运行它。

问题是我正在尝试使用最新的 rc1 版本或至少 beta8,我可以使用“dnvm”获得这些版本的 ASP.NET,但 Visual Studio 仍然使用旧的依赖项和脚手架创建项目。

我什至不知道我应该将它们更新到哪个版本,因为不断有新的预发布版本高于 beta8,如果我只是将所有内容更新到最新版本,那么什么都不起作用 - 我无法使用 ' 运行它dnx web',因为我遇到了某种奇怪的异常。

那么有没有办法告诉我应该在哪些版本的 ASP.NET 5 中使用哪些版本的依赖项?代码也是如此,因为由于缺少某些方法,显然默认的脚手架代码甚至不适用于最新版本。

现在甚至可以在 .NET Core 上创建一个有效的 Web 应用程序吗?因为 ASP.NET 5 即将发布,所以我认为到此为止它可以正常工作。

【问题讨论】:

  • 我想说,最好的办法是坚持使用命令行工具并使用 dnu build 而不是 Visual Studio 工具。如果你经常使用脚手架,你可以考虑从microsoft.com/en-us/download/details.aspx?id=49442 重新安装 VS 工具,如果你还没有(它仍然很新鲜和温暖)。在 ASP.NET 5 上创建有效的 Web 应用程序肯定是可能的——但有时很难找出所有的答案。仍然 - 我无法确定您的确切问题是什么,所以我无法发布答案。
  • 问题是当我使用 VS2015 创建一个 Web Api 项目时,我无法在 beta5 以上的任何版本上运行它,因为 project.json 中定义的依赖项(库)是旧版本,我有不知道这些库的哪些版本应该与 ASP.NET 5 版本一起使用。我已尝试更新它们,但在运行构建时遇到了奇怪的异常,而我在 Google 中找不到任何东西。

标签: asp.net asp.net-web-api asp.net-core dnx .net-core


【解决方案1】:

这就是 ASP.NET 和 Web Tools 2015 (Beta7) 为我所做的。我想 beta8 (http://www.microsoft.com/en-us/download/details.aspx?id=49442) 将支持 beta8 包。

"dependencies": {
 "EntityFramework.Commands": "7.0.0-beta7",
 "EntityFramework.SqlServer": "7.0.0-beta7",
 "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta7",
 "Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta7",
 "Microsoft.AspNet.Authentication.Google": "1.0.0-beta7",
 "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta7",
 "Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta7",
 "Microsoft.AspNet.Diagnostics": "1.0.0-beta7",
 "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta7",
 "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta7",
 "Microsoft.AspNet.Mvc": "6.0.0-beta7",
 "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta7",
 "Microsoft.AspNet.Server.IIS": "1.0.0-beta7",
 "Microsoft.AspNet.Server.WebListener": "1.0.0-beta7",
 "Microsoft.AspNet.StaticFiles": "1.0.0-beta7",
 "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta7",
 "Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta7",
 "Microsoft.Framework.Configuration.Json": "1.0.0-beta7",
 "Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta7",
 "Microsoft.Framework.Logging": "1.0.0-beta7",
 "Microsoft.Framework.Logging.Console": "1.0.0-beta7",
 "Microsoft.Framework.Logging.Debug" : "1.0.0-beta7",
 "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta7"
},

编辑:对于 WebAPI,这是:

"dependencies": {
  "Microsoft.AspNet.Mvc": "6.0.0-beta7",
  "Microsoft.AspNet.Server.IIS": "1.0.0-beta7",
  "Microsoft.AspNet.Server.WebListener": "1.0.0-beta7",
  "Microsoft.AspNet.StaticFiles": "1.0.0-beta7"
},

很可能您使用的是旧版本的 VS 工具。您可以在 Help 菜单的 About Visual Studio 下查看您的 ASP.NET 和 Web Tools 版本。重新安装或发布您从构建系统或运行时(包括 IIS)获得的确切消息。

编辑:忘了提到这对我来说适用于 dnx beta7(dnx beta8 和 beta7 VS 工具不适用)

【讨论】:

  • 这似乎已经解决了!我什至不知道 Microsoft 为每个 beta 版本提供了更新的工具,因为目前还没有真正的全面指南,或者至少我找不到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-25
  • 2018-12-14
  • 2019-06-08
  • 2020-05-10
  • 2019-08-20
  • 2023-03-12
  • 2023-02-05
相关资源
最近更新 更多