恢复 NuGet 包时发生错误:“恢复输入无效。未指定目标框架。”

问题描述 投票:0回答:5

如何解决 Visual Studio (MSBuild) 错误消息:

恢复 NuGet 包时发生错误:“恢复输入无效。未指定目标框架。”

visual-studio msbuild nuget-package-restore
5个回答
7
投票

警告: 如果没有 Visual Studio,您似乎无法使用 JetBrains Rider IDE!

如果您还没有安装 Microsoft 的 Visual Studio 以及处理您的项目的相关附加库(例如 Xamarin),则 Rider IDE 可能会出现此问题。

安装 Rider + .NET Framework + MSbuild 可能不足以解决问题。

也许这是显而易见的,但并不适合所有人,尤其是刚接触 .NET 编码的开发人员。


6
投票

该问题是由于

.sln
文件中指定的项目类型错误引起的。在解决方案文件中,项目的类型为
{D954291E-2A0B-460D-934E-DC6B0785DB48}
(共享项目/Windows 应用商店应用程序通用)。

...
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "SomeProject", "SomeProject", "{...}"
...

但实际上该项目是C#(SDK项目)。通过将解决方案文件中的 GUID/UUID 更改为正确的 GUID/UUID 解决了该问题,即

{9A19103F-16F7-4668-BE54-9A1E7A4F7556}

...
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SomeProject", "SomeProject", "{...}"
...

5
投票

当我打开解决方案时,我的计算机崩溃了,这发生在我身上。当我再次打开它时,什么也不会建立。前面提到的解决方案都不起作用。这是所做的:

  1. 使用解决方案关闭 Visual Studio
  2. 转到文件资源管理器中的解决方案文件夹
  3. 删除
    .vs
    隐藏文件夹
  4. 再次打开解决方案

我正在使用 VS 17。


3
投票

我最近在一个构建针对多个框架的 NuGet 包的项目中遇到了这个错误。

简而言之,我的

.csproj
文件中有这个(大概是 git merge 错误):

<TargetFrameworks>netstandard2.1;net462;net48;net48</TargetFrameworks>

注意

net48
的重复条目。奇怪的是,它仍然构建在我的机器上(大概是因为某些东西缓存在磁盘上的某个地方)。一旦我删除了重复的条目,一切就又开始工作了。


0
投票

在我的例子中,.gitignore 文件忽略了 Directory.Build 和 Directory.Build。离开公司的另一位队友已从旧项目复制了文件。

© www.soinside.com 2019 - 2024. All rights reserved.