Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2017 NetCore项目未发布,不断给出版本不匹配的错误_Visual Studio 2017_Publish - Fatal编程技术网

Visual studio 2017 NetCore项目未发布,不断给出版本不匹配的错误

Visual studio 2017 NetCore项目未发布,不断给出版本不匹配的错误,visual-studio-2017,publish,Visual Studio 2017,Publish,我有一个asp.net核心项目,它支持所有.net核心版本2.2中的库。它们运行,我可以调试,它们也在发布模式下工作。然而,当我试图发布它们时,我会得到一个错误列表。主要原因如web项目所示: 错误NU1202:程序包Microsoft.NETCore.App 2.2.0与netcoreapp2.1(.NETCoreApp,版本=v2.1)不兼容。软件包Microsoft.NETCore.App 2.2.0支持:NETCoreApp 2.2(.NETCoreApp,版本=v2.2) 之后,此错误

我有一个asp.net核心项目,它支持所有.net核心版本2.2中的库。它们运行,我可以调试,它们也在发布模式下工作。然而,当我试图发布它们时,我会得到一个错误列表。主要原因如web项目所示:

错误NU1202:程序包Microsoft.NETCore.App 2.2.0与netcoreapp2.1(.NETCoreApp,版本=v2.1)不兼容。软件包Microsoft.NETCore.App 2.2.0支持:NETCoreApp 2.2(.NETCoreApp,版本=v2.2)

之后,此错误会对web项目在解决方案中引用/使用的每个项目重复出现

我已经验证了依赖关系,下面是我在web项目中看到的内容:

这是:

如您所见,该项目引用了最新版本2.2.0。所以我不知道它在哪里挑选这个netcoreapp2.1

如果这是配置的问题,那么为什么在调试和发布构建期间,甚至在调试期间都不会显示此错误。请注意,我的发布基于发布版本,它使用netcore 2.2作为依赖于框架的版本

这就是我运行dotnet时得到的结果——列出运行时

  • Microsoft.AspNetCore.All 2.1.2[C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  • Microsoft.AspNetCore.All 2.1.7[C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  • Microsoft.AspNetCore.All 2.1.8[C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  • Microsoft.AspNetCore.All 2.2.0[C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  • Microsoft.AspNetCore.All 2.2.1[C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  • Microsoft.AspNetCore.All 2.2.2[C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  • Microsoft.AspNetCore.App 2.1.2[C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.AspNetCore.App 2.1.7[C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.AspNetCore.App 2.1.8[C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.AspNetCore.App 2.2.0[C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.AspNetCore.App 2.2.1[C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.AspNetCore.App 2.2.2[C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.AspNetCore.App 3.0.0-preview-18579-0056[C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  • Microsoft.NETCore.App 2.0.9[C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.NETCore.App 2.1.7[C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.NETCore.App 2.1.8[C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.NETCore.App 2.2.0[C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.NETCore.App 2.2.1[C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.NETCore.App 2.2.2[C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.NETCore.App 3.0.0-preview-27122-01[C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Microsoft.WindowsDesktop.App 3.0.0-alpha-27128-4[C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

我认为您安装的运行时
.netcore托管2.1


您应该下载或更高版本。

此问题可能与您在Visual Studio中的发布设置有关。你有两种解决问题的方法

选项A.直接编辑文件夹\Properties\PublishProfiles下的FolderProfile.pubxml文件,并在以下目录下将目标框架从2.1更改为2.2:

<TargetFramework>netcoreapp2.2</TargetFramework>
netcoreapp2.2

选项B.转到“发布”菜单并单击“配置…”。。。似乎只要转到菜单并单击“保存”即可解决问题,因为菜单默认为项目默认值2.2


希望这能解决您的问题。

它已经安装,我也安装了3.0预览版,但仍然出现相同的问题。
dotnet的输出--列出运行时
?无法将其粘贴到注释中。。。太长了,您应该添加到答案中,您不必粘贴所有内容,只需粘贴相关的运行时(2.1及更高版本)。顺便说一下,我可以通过对发布文件进行一些更改并保存来解决这个问题。然后将其还原并再次保存。所以从技术上讲,根本没有任何变化,但project成功发布了。这适用于所有发布配置文件。我现在对它更困惑了你能添加关于你的发布的细节吗<代码>运行时标识符以及
.csproj
中的更多详细信息?您可能觉得这很明显,但我们需要了解您看到的整体情况。netcoreapp2.2 win-x64您的解释很有道理。这就是我为解决问题所做的。我真不敢相信这能奏效。已正确设置,但重新打开“配置发布设置”窗口并单击“保存”完成了该操作。