ASP.Net Core 1.1- 迁移失败

5
我知道VS 2017仅是RC版本,但似乎将ASP.Net Core 1.0项目迁移到1.1存在一些重要问题。迁移工具在解决方案中无法将我的8个项目的2个转换(我喜欢采用分层架构方法来组织我的项目),示例项目位于这里。特别是一个类库项目,我将我的Web API控制器方法移动到其中。尝试重新创建此类库时,似乎无法在安装了Microsoft.AspNetCore.Mvc nuget后声明控制器类,尽管已经安装,但编译器未能找到Controller、RouteAttribute等类。设置DI层的IServiceCollection也遇到了同样的问题,nuget Microsoft.Extensions.DependencyInjection似乎没有解决它。
迁移日志实在没有帮助我。它似乎指出我的服务项目和project.json文件存在问题,但正如您所看到的,它已经在存储库中了。
感觉像是微软正在强制我们将所有的“web”内容都塞到一个项目文件中。也许这些工具还没走得够远,但一个RC版本应该意味着它们接近发货准备了吧?

ReciPiBook.Api Message 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 Core项目引用的常规类库的project.json文件。这是因为我目前仅托管一个ASP.NET Core Web API,同时构建针对.NET 4.6.1的类库代码,以便能够使用NCrunch进行测试。 - Martin Klinke
可能相关:https://developercommunity.visualstudio.com/content/problem/2446/migrate-aspnet-core-existing-app.html - Martin Klinke
1
使用Dotnet cli打开的问题 https://github.com/dotnet/cli/issues/4770 - Shawn
1个回答

0

我不能直接与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工具条目,因为包管理器会覆盖它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接