2016-11-17 161 views
9

我正在玩Visual Studio Mac Preview中的ASPNet.Core 1.1.0應用程序,並在更新/安裝NuGet包時遇到問題。.Net Core 1.1.0 NuGet包無法在Visual Studio Mac中安裝

如果我嘗試更新例如。 Microsoft.AspNetCore.Diagnostics從1.0.0到1.1.0,它將無法下載並完全刪除軟件包。然後我必須再次下載並安裝1.0.0的軟件包。 Microsoft.AspNetCore.Server.Kestrel也一樣。

Microsoft.EntityFrameworkCore我無法安裝在任何版本。 繼承人異常輸出:https://gist.github.com/anonymous/52ceb28b8d9781835b226bcbe9d04d58

我知道一切都是出爐,但想知道其他人是否經歷過相同的問題並知道解決方法。

回答

2

嘗試手動更改* .csproject文件

<TargetFramework>netcoreapp1.1</TargetFramework>

UPDATE

@egeek所以,最後,我想我找到了一些竅門。我試圖添加Swashbuckle Nuget包,但失敗了。然後,當Visual Studio開始添加Swashbuckle時,在操作完成之前單擊Forece從Visual Studio中退出。在* .csproj我看到:

<PackageReference Include="Swashbuckle"> 
    <Version>6.0.0-beta902</Version> 
</PackageReference> 

而當我再次打開Visual Studio時,單擊「包」文件夾中的「還原」。 最後它不會失敗,並正確添加Swashbuckle。

+0

感謝您的評論。我已經在csproj中手動將Target Framework更改爲1.1.0。你必須這樣做,否則你將無法運行新創建的應用程序。這不是問題。 – egeek

+0

感謝分享! :)我想你也可以在.csproj中手動添加軟件包引用,並讓VS在打開項目時自動執行恢復。如果這不起作用,那麼從終端進行「dotnet恢復」應該有效。看到我對這篇文章的回答。 – egeek

4

我在推特上找到了答案,並得到了微軟Xamarin PM的Mikayla Hutchinson的回覆。查看Twitter上的對話here

一定的NuGet包無法恢復,如果他們不是已經在 本地緩存 - 見https://developer.xamarin.com/releases/vs-mac/preview/vs-mac-preview1/#Known_Issues

作爲一種解決方法,你可以在命令行, 將恢復和高速緩存使用dotnet restore他們

我希望這有助於。

+0

謝謝賈斯汀。這是一個在Visual Studio Mac中創建的項目,而不是通過「dotnet new」的終端,所以可悲的是「dotnet restore」不起作用。我會嘗試通過終端製作一個項目並進行測試。 警告:文件夾'/ Users/Paul/Dropbox/projects/TestNewASPNetCore/src/TestNewASPNetCore'不包含要恢復的項目。 – egeek

+0

爲了能夠在VS Mac中創建的.NET Core項目上執行「dotnet restore」,您需要安裝.NET Core SDK 1.0.0 Preview 3.官方的.Net Core 1.1.0安裝程序僅包含SDK 1.0 .0 Preview 2. 從以下位置獲取預覽版3 SDK:https://github.com/dotnet/core/blob/master/release-notes/preview3-download.md – egeek

+0

就是這樣。即使對於網絡核心2.0。從終端運行點網絡恢復和點網絡構建固定它。 – Mukus

8

對於其他人有類似的問題,這裏有一個步行通過:

  1. 首先安裝.NET核心1.1.0:https://www.microsoft.com/net/core#macos

  2. 官方.NET核心1.1.0安裝程序(如)包括.NET Core SDK 1.0.0 Preview 2.

您將需要.NET Core SDK 1.0.0 Preview 3。在這裏下載:https://github.com/dotnet/core/blob/master/release-notes/preview3-download.md

  • 在Visual Studio中的Mac

  • 一個新項目,關閉項目

  • 打開項目/ src目錄/ MYAPP/MYAPP。 csproj並將「netcoreapp1.0」更改爲「netcoreapp1.1」。保存並關閉文件。

  • <TargetFramework>netcoreapp1.1</TargetFramework>

  • 打開在Visual Studio中的Mac您的溶液並編譯它。
  • 現在您可以將您的NuGet軟件包更新到最新版本。

    如果你遇到問題,做一個「DOTNET恢復」站在當/項目/ src目錄/ MYAPP/

    +0

    這工作像一個魅力。 – Gabe

    +0

    很高興它的工作@加貝:) – egeek

    +0

    這讓我建立並實際運行,謝謝你!出於某種原因,我仍然無法將所有NuGet軟件包更新到最新版本......仍然出現相同的故障。 – JasonCoder

    相關問題