【问题标题】:VS2017 : Target framework drop down does not show .NET Core 2.1 optionVS2017:目标框架下拉菜单不显示 .NET Core 2.1 选项
【发布时间】:2018-09-12 18:10:01
【问题描述】:

我已经安装了VS2017 Enterprise 15.6.4。最近从official site安装.NET Core 2.1.101 SDK

如果我创建控制台或 asp.net 核心应用程序,我期待 .NET Core 2.1 作为可用的目标框架之一。有人可以帮助我了解我在这里缺少什么。

按照 cmets 的建议,我安装了 15.7 preview 2。仍然没有运气和同样的问题。

【问题讨论】:

  • .NET Core 2.1 15.6.1 之后发布。它仅在 15.7 预览版中可用。你下载的SDK也是2.0左右。针对 Core 2.1 的 SDK 是 2.1.300-preview1
  • @PanagiotisKanavos:你是说 vs2017 15.7 预览版?
  • 版本s。现在是 15.7 Preview 2
  • @PanagiotisKanavos:哦。我可以尝试从visualstudio.com/vs/preview 下载。但是,此可用更新从未显示任何更新通知。
  • 预览不会显示为更新。它们必须手动安装,并且与任何现有的 VS 安装一起运行。为了使用 2.1,目前,您必须运行 VS 2017 预览版,才能创建项目并对其进行处理。

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


【解决方案1】:

我在 .net core 2.1 下创建了一个新项目,没问题,但在我的旧项目中没有出现。于是我打开了两个“.cproject”文件,对比了一下,发现了问题。
在文本编辑器中打开项目的“.cproject”文件,然后替换以下行

<TargetFramework>netstandard2.1</TargetFramework>

用这个:

<TargetFramework>netcoreapp2.1</TargetFramework>

【讨论】:

    【解决方案2】:

    我遇到了类似的问题,我卸载了 .Net Core 2.2 运行时,然后从以下链接:

    https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral

    安装 .Net Core 2.2 Visual Studio SDK,重新启动 Visual Studio,我的问题得到解决,.Net Core 2.2 现在列在 Visual Studio 2017 版本 15.9.16 项目属性的目标框架列表中

    【讨论】:

      【解决方案3】:

      我也遇到过类似的问题。然后我刚刚将我的 Visual Studio 2017 更新到 15.9.16 版本并重新启动了系统。问题解决了。

      【讨论】:

        【解决方案4】:

        确保 dotnet PATH 变量的顺序正确

        如果您已为不同的系统架构安装了 SDK(例如,如果您在 64 位计算机上安装了 32 位/x86 SDK),则将在 PATH variable 中为该特定系统创建一个新条目位置(例如,C:\Program Files\dotnetC:\Program Files (x86)\dotnet)。

        问题是 Visual Studio 在搜索已安装的框架时,会在它找到的第一个包含 SDK 的 PATH 变量条目处停止。因此,如果您安装的第一个版本使用了不正确的架构,那么您必须调整这些条目的位置,然后任何正确的 SDK 才会出现在 Target Framework 下拉列表中。

        来源:this absurdly-hard-to-find comment within issue #8309


        TL;DR:确保您在列表中看到的路径变量中的第一个“C:\Program Files\dotnet\”条目与您的系统架构匹配:

        • 64 位 = C:\Program Files\dotnet\
        • 32 位 = C:\Program Files (x86)\dotnet\

        【讨论】:

        • 经过无数小时的挠头,这被证明是根本原因。
        • 在我的例子中,我愚蠢地假设我的构建服务器是 x64 而没有检查。更新路径变量后,我还必须安装 x86 版本的 .NET Framework。
        【解决方案5】:

        更新到最新的 VS 2017 并安装了最新的 .Net Core SDK。 将 global.json 更改为指向已安装的最新版本。 这为我解决了。

        【讨论】:

          【解决方案6】:

          确保 Visual Studio 2017 是最新的。转到“工具”->“扩展和更新”以安装 Visual Studio 更新。这为我解决了这个问题。

          【讨论】:

            【解决方案7】:

            我遇到过类似的情况,我尝试安装 dot net 的预览版,但没有帮助。 但是,在我更新了视觉工作室(从 15.8 到 15.9.6 )之后。 我可以在目标框架中看到 dot net core 2.1。

            【讨论】:

              【解决方案8】:

              如果这对其他人有帮助...安装 VS 15.9.2 后,我在 2.2 preview-3 上运行良好的项目停止工作。 VS 看不到预览版 SDK。我可以使用 dotnet.exe 而不是 VS 来构建解决方案。

              为了解决这个问题,我在此解决方案的根文件夹中创建了一个 global.json,指向预览 sdk。这允许 VS 看到预览版本。

              这是 VS 在 15.8.x 和 15.9.x 之间的行为变化。

              要创建 global.json,您可以导航到所需的文件夹并输入:

              dotnet 新的全局json

              【讨论】:

              • 非常感谢,我遇到了完全相同的问题。希望这是 VS 中的一个错误。
              • FWIW,我认为这是一种有意的行为改变,以便新项目使用最新版本位而不是任何已安装的预览版。这样,您必须有意选择加入预览内容。只是我的看法。
              • 我之前的评论是正确的。确认blogs.msdn.microsoft.com/dotnet/2018/11/13/…
              • 好吧,我仔细想想,这确实是有道理的。感谢您告知我们。
              【解决方案9】:

              我也遇到过同样的问题。我通过为 .NET Core 2.1 安装带有 Runtime 的正确 SDK 解决了这个问题。

              基本上要从 VS Preview 运行/创建 2.1 项目,您需要安装“2.1.300”(不是 2.1.4).NET Core SDK 和运行时。 https://www.microsoft.com/net/download/dotnet-core/sdk-2.1.300-preview1(这已经包括所需的运行时)

              我在 https://github.com/dotnet/cli/issues/8309 找到的版本很好地解释了这种误导(dasMulli 于 2 月 24 日发表评论)。

              【讨论】:

              • 谢谢!!我会在明天的某个时候尝试更新。
              • 即使使用 2.1 稳定版和 2.2 这个问题仍然存在
              • 评论提醒自己我以前遇到过这个问题并修复过。为什么不能已经解决了...
              猜你喜欢
              • 1970-01-01
              • 2017-08-15
              • 2019-09-02
              • 2021-09-08
              • 2019-06-02
              • 2022-01-16
              • 1970-01-01
              • 1970-01-01
              • 2014-09-28
              相关资源
              最近更新 更多