【问题标题】:.Net Core 1.1.0 NuGet packages fail to install in Visual Studio Mac.Net Core 1.1.0 NuGet 包无法在 Visual Studio Mac 中安装
【发布时间】:2017-04-01 06:26:56
【问题描述】:

我在 Visual Studio Mac Preview 中使用 ASPNet.Core 1.1.0 应用程序,在更新/安装 NuGet 包时遇到问题。

如果我尝试更新,例如。 Microsoft.AspNetCore.Diagnostics 从 1.0.0 到 1.1.0 下载失败并完全删除了包。然后我必须再次下载并安装 1.0.0 的软件包。 Microsoft.AspNetCore.Server.Kestrel 也是如此。

Microsoft.EntityFrameworkCore 我无法在任何版本中安装。 以下是异常输出:https://gist.github.com/anonymous/52ceb28b8d9781835b226bcbe9d04d58

我知道一切都刚刚好,但想知道其他人是否遇到过同样的问题并知道解决方法/解决方案。

【问题讨论】:

    标签: visual-studio asp.net-core .net-core


    【解决方案1】:

    对于遇到类似问题的其他人,这里有一个演练:

    1. 首先安装.NET Core 1.1.0:https://www.microsoft.com/net/core#macos

    2. 官方 .NET Core 1.1.0 安装程序(截至撰写本文时)包括 .NET Core SDK 1.0.0 Preview 2。

    您将需要 .NET Core SDK 1.0.0 预览版 3。在此处下载:https://github.com/dotnet/core/blob/master/release-notes/preview3-download.md

    1. 在 Visual Studio Mac 中创建一个新项目

    2. 关闭项目

    3. 打开 project/src/myapp/myapp.csproj 并将“netcoreapp1.0”更改为“netcoreapp1.1”。保存并关闭文件。

    <TargetFramework>netcoreapp1.1</TargetFramework>

    1. 在 Visual Studio Mac 中打开您的解决方案并进行编译。

    现在您可以将 NuGet 包更新到最新版本。

    如果您遇到问题,请在 /project/src/myapp/ 中执行“dotnet restore”

    【讨论】:

    • 这让我构建并实际运行,谢谢!出于某种原因,我仍然无法将所有 NuGet 包更新到最新版本......仍然遇到同样的故障。
    • @JasonCoder 你试过从控制台“dotnet restore”吗?
    • @egeek 是的,我做到了。仍然无法更新所有软件包。不是破坏交易,而是有点头疼
    【解决方案2】:

    我在 Twitter 上联系并收到了来自 Microsoft Xamarin 产品经理 Mikayla Hutchinson 的回复。查看 Twitter here 上的对话。

    如果某些 NuGet 包尚未在其中,则无法还原它们 您的本地缓存 - 请参阅 https://developer.xamarin.com/releases/vs-mac/preview/vs-mac-preview1/#Known_Issues

    作为一种解决方法,您可以在命令行上使用dotnet restore, 这将恢复和缓存它们

    我希望这会有所帮助。

    【讨论】:

    • 谢谢贾斯汀。这是一个在 Visual Studio Mac 中创建的项目,而不是通过带有“dotnet new”的终端,所以遗憾的是“dotnet restore”不起作用。我将尝试通过终端制作一个项目并进行测试。警告:文件夹“/Users/Paul/Dropbox/projects/TestNewASPNetCore/src/TestNewASPNetCore”不包含要恢复的项目。
    • 为了能够对在 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。从以下位置获取 Preview 3 SDK:github.com/dotnet/core/blob/master/release-notes/…
    • 就是这样。即使对于 dot net core 2.0。从终端运行 dot net restore 和 dot net build 修复它。
    【解决方案3】:

    尝试手动更改 *.csproject 文件为

    <TargetFramework>netcoreapp1.1</TargetFramework>

    更新

    @egeek 所以,最后,我想我找到了一些窍门。我尝试添加 Swashbuckle Nuget 包,但失败了。然后,当 Visual Studio 开始添加 Swashbuckle 时,我在操作完成之前从 Visual Studio 中单击强制退出。在 *.csproj 我看到:

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

    当我再次打开 Visual Studio 时,单击“Packages”文件夹上的“Restore”。 最后它没有失败并正确添加了 Swashbuckle。

    【讨论】:

    • 感谢您的评论。我已经在 csproj 中手动将 Target Framework 更改为 1.1.0。您必须这样做,否则您将无法运行新创建的应用程序。这不是这里的问题。
    • 感谢分享! :) 我想您也可以在 .csproj 中手动添加包引用,并在您打开项目时让 VS 自动进行恢复。如果这不起作用,从终端执行“dotnet restore”应该可以解决问题。请参阅我对这篇文章的回答。
    【解决方案4】:

    尝试为核心 1.1 https://dist.nuget.org/index.html 升级您的 nuget 最新版本将解决此问题。

    【讨论】:

      猜你喜欢
      • 2019-07-23
      • 1970-01-01
      • 2018-03-30
      • 1970-01-01
      • 2017-12-21
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多