2016-11-17 136 views
5

我知道VS 2017只是RC,但似乎有一些主要問題將ASP.Net Core 1.0項目遷移到1.1。遷移工具無法轉換解決方案中的8個項目中的2個(我傾向於對我的項目採用分層架構方法),示例項目位於here。其中一個項目特別是我將我的web api控制器方法轉移到的類庫。在試圖重新創建這個類庫時,似乎沒有人能夠在安裝Microsoft.AspNetCore.Mvc nuget後聲明一個控制器類。它已安裝,但編譯器未找到Controller,RouteAttribute類等。嘗試設置DI層IServiceCollection時發生了同樣的問題。 Nuget Microsoft.Extensions.DependencyInjection似乎沒有這樣做。ASP.Net核心1.1 - 遷移失敗

遷移日誌相當誠實地不是真的幫助我。它似乎表明與我的服務項目和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。

+0

我有一個類似的(或可能是相同的)轉換項目的問題。但是,根據遷移日誌,轉換過程試圖找到我從.NET核心項目引用的常規類庫的project.json文件。這是因爲我目前只託管一個ASP。NET Core web api,同時構建.NET 4.6.1的類庫中的代碼,以便能夠使用NCrunch進行測試。 –

+0

也許相關:https://developercommunity.visualstudio.com/content/problem/2446/migrate-aspnet-core-existing-app.html –

+1

問題用Dotnet cli打開https://github.com/dotnet/cli/issues/4770 – Shawn

回答

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. 下載SDK 1.1
  2. 更改global.json 「SDK」:{ 「版本」:「1.0。 0-preview2-1-003177「}(是的,它是一個不同的版本字符串)。
  3. 將所有的project.json包版本從1.0更新到1.1(有些預覽了一些arn't)。只需打開nuget包管理器,允許預覽版本,然後安裝所有更新。
  4. 修復您的任何project.json工具條目,因爲軟件包管理器會破壞這些條目。