项目文件不完整。预期的进口量缺失


93

格式化计算机后,我重新安装了Vs 2017 V 15.6.3并从Microsoft 2.1.4安装了ASP.Net Core SDK

但是当我创建新的ASP核心应用程序VS失败并出现错误

“项目文件不完整。预期的导入丢失”

请,有人可以帮忙吗?

创建ASP核心应用程序后出现错误


您是如何“从Microsoft 2.1.4安装ASP.Net Core SDK”的?使用Visual Studio安装程序,还是通过其他过程?
尼尔

您可以发布项目文件吗?
弗朗切斯科B.18年

1
我已经使用这个链接设置.NET核心SDK microsoft.com/net/download/thank-you/...
迈季Albaho

4
这个答案帮助我了stackoverflow.com/a/55529011/342113。当前,事实证明2.2.1xx SDK与VS.NET 2017兼容,但是2.2.2XX SDK不兼容。
rsbarro

1
@rsbarro就是这样!这里同样的问题。因此,我将其发布为答案
Steven Jeuris

Answers:


18

解决

  1. 即使从控制面板卸载某些版本后,在C:\ Program Files \ dotnet \ sdk中也会找到具有删除版本的文件和文件夹

  2. 请删除不想要的版本文件夹

  3. 尝试重新加载项目

这对我有用


68

我遇到过同样的问题。就我而言,删除global.json和appsettings解决了这个问题。


9
尽管为澄清我只需要删除(/重命名)“ global.json”,这对我还是有用的。Fwiw:它包含:{“ sdk”:{“ version”:“ 2.0.0”}}
ubienewbie

2
就我而言,我的机器上缺少.NetCore 2.0.0版安装,并且在global.json中提到了该版本。所以我刚刚安装了它,效果很好。
穆罕默德·乌玛

3
dotnet --version显示2.1.201,而global.json提到的版本略低,为2.1.101。显然,该版本必须完全匹配才能正常工作,没有向下兼容性。或者按照此答案中的建议删除文件。
GolezTrol

7
仅删除global.json就足够了。appsettings可以保留在原位
Wouter Janssens

11
最好在此答案中告诉global.json文件夹和appsettings文件夹。
fernacolo

34

另一个潜在的原因是您安装了与Visual Studio不兼容的.NET Core版本。这可能与OP的原始问题无关,因为它涉及不同的版本号,但是由于我在寻求帮助的同时进入了此页面,因此我认为这可能对其他人有用。

在写这篇文章的时候,我安装了.NET核心2.2.203这是不兼容的Visual Studio 2017年(专业11年9月15日)。

.NET核心下载页面列出的Visual Studio 2017的独立下载请务必下载这一个,当你打算使用Visual Studio 2017的最新支持版本是.NET的核心2.2.106


奇怪的是,在我的应用程序中,我有一个N层应用程序(UI,BLL和DAL)。使用此版本的.NET Core,BLL项目可以很好地加载。+1
戴夫

8
经过数小时的猛烈攻击,您救了我。微软本来应该使它看起来比看起来(Compatible with Visual Studio 2017)不错的标签更为明显。为了他妈的,应该是全部大写和大他妈的红色。
Angel Yordanov

非常感谢你!这可行!SDK 2.2.105仅适用于Visual Studio 15.9.8或更低版本。
hubert17

将VS 2017社区升级到版本15.9.12解决了我的问题
GoldenAge

23

您可以检查可以在解决方案根目录中找到的global.json文件,并确保已在计算机上安装了目标SDK版本,或将其更新为已经安装的目标SDK版本,例如,如果安装了2.1.4版的SDK您的global.json应该看起来像这样

{
  "sdk":
  {
    "version": "2.1.400"
  }
}   

1
这是给我的。版本“2.1.300”中global.json,但2.1.2002.1.403安装; 更改为2.1.400工作。
帕西·萨沃拉宁

3
既可以将其更改为已安装的SDK版本之一,也可以version完全删除属性
Salaros

2
也为我工作。更改了版本以使其与我的系统上最接近的版本相匹配。您可以运行“ dotnet --versions”来查看已安装的内容。
daudihus

2
dotnet --list-sdksdotnet --list-runtimes查看已安装的所有内容,dotnet --version将显示正在使用的当前版本。
nathanchere

1
这也是我们的解决方案。在我们的案例中,我们在VS2017上使用netcore 2.1进行了一些项目; 我们安装了netcore 3,但无法再打开项目。在项目的根文件夹中创建global.json解决了该问题
Jack Casas

18

修复上次Core安装对我有用


1
我也必须重新启动,但这对我来说已经解决了。
DTown

1
对于希望“如何”修复.NET Framework的人(也适用于Core),请在您喜欢的搜索引擎中搜索“ .NET Framework修复工具”。仅运行第一步就为我修复了它。
KSwift87

2
还W10控制面板-程序-程序和功能选择安装和维修
Uzay

15

就我而言,我安装了两个版本的Visual Studio(15.7和15.6)。尽管已经安装了.net core 2.1 RC1,但15.7尚未安装Web工作负载。我将asp.net工作负载安装到VS2017中,然后修复了.net核心安装,以取得良好效果。绝对在此过程中,在此路径中交换了我的c:\ program files(x86)\ dotnet和c“ \ program files \ dotnet,Visual Studio(15.7)无法打开我的Web项目。

我只是编辑了System Environment变量,将x86文件夹向下移动了一个,然后重新打开-重新打开Visual Studio,现在它加载了我的项目。 系统环境变量


3
就我而言,c:\ Program Files \ dotnet \从我的
路径中

1
ahhhhhh浪费了很多时间,这就是我的答案。谢谢!
凌晨

安装了NET4.7.1,然后所有现有的Net.Core项目都被破坏了。“向下移动”的魔力将它们固定了下来。
Yury Schkatula

13

嗯,菜鸟错误,我打开了Visual Studio SSDT,并试图打开一个现有的.Net Core项目,该项目会产生相同的错误:

“项目文件不完整。预期的导入丢失”

解决方案是使用Visual Studio 而不是SSDT,请参阅“帮助”>“关于”:

在此处输入图片说明


1
经过数小时的.net核心版本控制混乱之后,这才是我真正的解决方案。对我来说,从文件夹中打开解决方案文件时,SSDT已成为默认选项,所以我也修复了该问题。谢谢!
Alex

9

我最近通过关闭Visual Studio并运行以下命令解决了几次该问题

  1. dotnet nuget locals -c全部
  2. 网络清洁
  3. 网络构建

似乎有些时候,特别是在项目开始时,nuget摆脱了困境(技术术语)。


9

安装VS2019后,在 VS2017中打开现有的.Net Core解决方案时,我开始遇到相同的错误。
Visual Studio安装程序中我已将VS2017更新到最新版本(15.9.11),问题消失了。

后来将VS2019升级 到最新版本后,我开始出现相同的错误,不得不再次升级VS2017。


8

我通过修改.csproj文件中的第一行来解决了这个问题:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

至:

<Project Sdk="Microsoft.NET.Sdk">

5

取消所有旧的.NET Core SDK的安装后,我开始出现此错误,并在发布时安装了最新的2.1.5。我在这里尝试了所有解决方案,但没有任何运气,所以决定在我完成所有清理后检查当前SDK版本是什么,因为我认为这是导致问题的原因,我是对的-启动命令提示符并编写dotnet --version并得到了消息“您是要运行dotnet SDK命令吗?请从以下位置安装dotnet SDK。” 奇怪的是,SDK已安装,但系统看不到。然后,我查看了我的环境变量,并且在常规Program Files(x64一个)路径之前,PATH变量具有x86的dotnet路径。所以我将x64移到了x86和voila之前,一切都恢复了正常。

希望我能帮助一个人。


你帮了我。当我从2.2.3升级到2.2.4时,就发生了这种情况。我想知道是否有特定的安装新命令/卸载旧命令的顺序导致发生这种情况。
MattOG

@MattOG,我尝试了多种安装/卸载方式,但是每次都会出现此问题。我想这只是必须习惯;)当我们有一个像stackoverflow这样的资源时,这毕竟不是一个笨拙的事情。
Ivaylo Dimitrov


4

我有同样的问题。我无法在全新安装的VS2017上创建新的ASP .Net Core 2,也无法打开现有的ASP .Net Core 2,它可以完美地在装有VS2017的另一台计算机上运行。

从Windows卸载所有.NET Core运行时和.NET Core Windows Server Hosting之后,它就为我开始工作。SDK只剩下了,所有的工作终于完成了。 在此处输入图片说明

可能我只需要从Windows卸载.NET Core运行时或.NET Core Windows Server Hosting就足够了。


我从未在计算机上安装过ASP Core 2 SDK,即使在全新安装后问题仍然存在
alexlomba87,18年

为我工作。卸载Core Windows Server Hosting之后。VS没有重启。我只是重新加载了项目。
profimedica '18


3

我从损坏的dotnet核心SDK出现了相同的症状(从命令行,我无法运行dotnet -v,以前我可以在其中运行)。IIS Web平台安装失败后,我的项目无法加载。重新安装.NET core SDK解决了该问题。


3

我遇到过同样的问题。让我安静了一会儿才知道。就我而言,我试图打开一个新的ASP .NET Core应用程序,而我又回来了0个类似本文中的项目的项目。

我尝试过的事情: 我尝试在“控制面板” \“系统”和“安全性” \“系统”下更改环境变量(单击“高级设置”)

在此处输入图片说明

然后单击环境变量

在此处输入图片说明

然后检查是否包含dotnet路径,它是否位于Program Files或Program files(x86)下 在此处输入图片说明

有人建议基于Microsoft文档向上移动(x86)

解决了我的问题的原因: 原来我安装了错误的版本,并且与Visual Studio 2017不兼容 在此处输入图片说明

然后,我删除了其他安装,然后重新安装了与VS17兼容并且运行起来就像魔术的正确版本。希望它对将来的人有所帮助。


1
这是对我有用的一部分。我机器上的所有其他SDK均为64位(因此位于“程序文件”中。)我必须安装最新的Core for VS 2017-2.2.110作为x86版本。这进入“程序文件(x86)”树。我将以前添加的PATH语句删除到普通的“ Program Files”文件夹中,并用“ Program Files(x86)”替换了它们,然后它又可以工作了!
Grandizer

这对我有帮助!我卸载了许多自动为我安装的Windows 10 Insider Preview的sdk,并意外删除了所需的VS 2017。谢谢!
Jeff LaFay

2

以我为例,我去了文件夹C:\ Program Files \ dotnet \ sdk删除了预览sdk文件夹,然后在命令行上运行:

dotnet SDK 2.1.200

为asp.net核心设置正确的sdk版本。这解决了问题。



1

当我卸载与VS2017并排运行的Visual Studio的VS2015实例时,这发生在我身上。

我必须出去并用x86版本重新安装.Net Core sdk / runtime。我已经手动完成了这些的x64版本,但没有考虑以32位运行Visual Studio。

这些是文件:

  • dotnet-sdk-xxx-win-x86.exe

  • DotNetCore.xxx-WindowsHosting.exe


1

我面临着同样的问题。我在.Net core 2.2上运行我的项目。我尝试了这里给出的每个解决方案,但没有任何效果。我修理了视觉工作室,现在一切正常。


1

我有同样的错误信息。就我而言。我必须安装.NET Core跨平台开发工具集。

脚步:

  1. 在Visual Studio中,转到“工具”>“获取工具和功能...”。
  2. 在工作负载下修改安装:选择.NET Core跨平台开发,然后单击修改。
  3. 重新启动VS并重建您的项目。

1

我已通过将Visual Studio更新到2017版本解决了该问题。

实际的问题是.net核心版本晚于Visual Studio。

转到帮助>检查更新,更新Visual Studio。


0

在我的开发机器上安装DotNetCore.2.0.5-WindowsHosting Framework之后,我在ASP.net Core 2.0项目中遇到了同样的问题。卸载WindowsHosting Framework和所有.net Core软件包后,可以解决此问题。之后,我重新安装了dotnet-sdk-2.1.200-win-x64软件包,一切正常。


0

删除项目的bin和obj文件夹为我解决了这个问题。


0

同样的问题...花了我一段时间才弄清楚。由于我从事针对.NET Core 1.1的ASP.NET Core项目,因此我认为我仍然需要安装.NET Core 1.1 SDK。由于我还安装了.NET Core SDK 2.1,因此存在某种冲突,因此无法打开项目文件。卸载.NET Core 1.1之后,我便可以打开我的项目。


0

在命令行上运行dotnet restore以获取解决方案。

小费。 如果您卸载了最新的.net核心版本(假设是2.1.403)并安装了前一个版本,请确保在路径中实际删除了2.1.403文件夹。

C:\ Program Files \ dotnet \ sdk \

我有问题,因为那里有一个空文件夹,带有2.1.403


0

删除所有生成的bin和obj文件夹。重命名项目并尝试重新加载解决方案后,这对我有用。不太确定加载不兼容的真正原因。


0

我遇到相同的问题,并且再次以管理员权限运行Visual。这可以帮助我正常打开项目。


0

事实证明,我的项目依赖于解决方案中的另一个项目,该项目失败了NuGet依赖性问题,这又是因为项目属性中的目标框架为空白。

我打开.csproj文件检查目标框架,下载了目标框架并选择“修复”,然后重新启动Visual Studio,一切都很好!


0

我在安装新预览版VS 2019时遇到了相同的问题。我通过卸载最新更新(反过来又卸载了最新下载的core版本)修复了该问题。我相信这导致了比赛失误。


0

只需交叉检查项目创建的.net核心库版本是否已更新即可。更新核心库时,它不会更新为.csproj,您需要手动更新它或需要删除最新/更新的核心sdk文件。

要在cmd上检查.net核心版本--fire命令:-dotnet --version

然后在“程序和功能”中检查已安装的库-删除最新的库可解决问题,而无需更改单行

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.