【问题标题】:ASP.Net Core 1.1 - Migration FailureASP.Net Core 1.1 - 迁移失败
【发布时间】:2017-03-31 11:30:14
【问题描述】:

我知道 VS 2017 只是 RC,但将 ASP.Net Core 1.0 项目迁移到 1.1 似乎存在一些重大问题。迁移工具无法在解决方案中转换我的 8 个项目中的 2 个(我更喜欢为我的项目采用分层架构方法),示例项目位于 here。特别是一个项目是我将 Web api 控制器方法移入的类库。在尝试重新创建此类库时,似乎无法在安装 Microsoft.AspNetCore.Mvc nuget 后声明控制器类。它已安装,但编译器未找到控制器、RouteAttribute 类等。尝试设置 DI 层 IServiceCollection 时也会出现同样的问题。 Nuget Microsoft.Extensions.DependencyInjection 似乎没有这样做。

说实话,迁移日志并没有真正帮助我。这似乎表明我的服务项目和 project.json 文件存在问题,但您可以看出它在存储库中。

感觉就像微软在强迫我们将所有“网络”内容塞进一个项目文件中。也许这些工具还远远不够,但 RC 会表明它们应该更接近于交付就绪?

ReciPiBook.Api 信息 src\ReciPiBook.Api\ReciPiBook.Api.xproj:无法迁移 XProj 项目 ReciPiBook.Api。 'dotnet migrate -s -p "C:\Users\xxx\Documents\Visual Studio 2015\Projects\ReciPiBook2017\ReciPiBookCore\src\ReciPiBook.Api" -x "C:\Users\xxx\Documents\Visual Studio 2015\Projects \ReciPiBook2017\ReciPiBookCore\src\ReciPiBook.Api\ReciPiBook.Api.xproj"' 退出,错误代码为 1。 src\ReciPiBook.Api\ReciPiBook.Api.xproj:找不到文件'C:\Users\xxx\Documents\Visual Studio 2015\Projects\ReciPiBook2017\ReciPiBookCore\src\ReciPiBook.Services\project.json'。迁移失败。 src\ReciPiBook.Api\ReciPiBook.Api.xproj:备份 C:\Users\xxx\Documents\Visual Studio 2015\Projects\ReciPiBook2017\ReciPiBookCore\src\ReciPiBook.Api\ReciPiBook.Api.xproj 到 C:\Users\ xxx\Documents\Visual Studio 2015\Projects\ReciPiBook2017\ReciPiBookCore\Backup\src\ReciPiBook.Api\ReciPiBook.Api.xproj。 src\ReciPiBook.Api\project.json:备份 C:\Users\xxx\Documents\Visual Studio 2015\Projects\ReciPiBook2017\ReciPiBookCore\src\ReciPiBook.Api\project.json 到 C:\Users\xxx\Documents\ Visual Studio 2015\Projects\ReciPiBook2017\ReciPiBookCore\Backup\src\ReciPiBook.Api\project.json.

【问题讨论】:

  • 我在转换项目时遇到了类似(或可能相同)的问题。但是,根据迁移日志,转换过程正在尝试查找我从 .NET 核心项目中引用的常规类库的 project.json 文件。这是因为我目前只托管一个 ASP.NET Core Web api,同时在面向 .NET 4.6.1 的类库中构建代码以便能够使用 NCrunch 进行测试。
  • 用 Dotnet cli github.com/dotnet/cli/issues/4770987654323@打开问题

标签: asp.net-core migration


【解决方案1】:

我不能直接与 VS2017 交谈,因为我远离它,因为即使它是 RC,核心工具也在 ALPHA 中。 VS 2015 核心工具至少处于“RC”状态(实际上只是预览版)。

在 VS2015 中,我手动从 1.0.x 迁移到 1.1(根据 https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-net-core-1-1/):

  1. 下载 1.1 sdk
  2. 更改您的 global.json "sdk":{"version": "1.0.0-preview2-1-003177"}(是的,它是不同的版本字符串)。
  3. 将所有 project.json 包版本从 1.0 更新到 1.1(有些是预览版,有些不是)。只需打开 nuget 包管理器,允许预览版本,然后安装所有更新。
  4. 修复您的任何 project.json 工具条目,因为包管理器会破坏这些条目。

【讨论】:

    猜你喜欢
    • 2017-04-12
    • 2017-11-02
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 2017-10-27
    • 1970-01-01
    相关资源
    最近更新 更多