如何解决 .net 核心构建错误 NETDSDK1061 和警告 MSB3277

     2023-04-12     230

关键词:

【中文标题】如何解决 .net 核心构建错误 NETDSDK1061 和警告 MSB3277【英文标题】:How to resolve .net core build error NETDSDK1061 and warning MSB3277 【发布时间】:2019-03-02 06:01:49 【问题描述】:

我遇到了问题,我的 AspNetCore.App-metapackage 引用的 EntityFrameworkCore (2.1.2) 版本低于 EfCore 提供程序包(NpgSql,引用 2.1.3)。结果是警告 MSB3277 (here is the question)。对此的快速修复是公认的答案。

另一个答案指出,我使用的 Microsoft.AspNetCore.App 包(当时为 2.1.1)比上一个稳定版本(2.1.4)低。无法更改包版本(见下图)。

我在类库项目中遇到了与 Microsoft.NETCore.App 相同的问题

我什至没有注意到我使用了比可用的更旧的元包。直到今天,我一直在检查 NuGet 包管理器中是否有可用的更新。我使用默认的项目模板并始终安装最新的 .NetCore SDK,我相信这已经足够了。不是。

调查此问题后,我发现,我可以强制我的项目通过包管理器控制台(Install-Package Microsoft.NETCore.App -Version 2.1.4Install-Package Microsoft.AspNetCore.App -Version 2.1.4)使用特定的 .NETCore.App 或 AspNetCore.App 元包。

在该命令之后,我遇到了构建错误 (NETSDK1061: The project was restored using Microsoft.NETCore.App version 2.1.4, but with current settings, version 2.1.0 would be used instead. To resolve this issue, make sure the same settings are used for restore and for subsequent operations such as build or publish.)。

【问题讨论】:

【参考方案1】:

我试图在该问题上找到任何帮助,发现一些 GitHub 问题(例如this one)看起来非常相似,但实际上是不同的。 我找到了descriptive doc,但这并没有真正帮助我。

我从 Rick Strahl 那里找到了一个 pretty helpful blog post,解释了可用的软件包以及每个软件包的用途。这是一个很好的开始。

这是我的解决方案:

第 1 步: 在包管理器控制台中执行Install-Package Microsoft.AspNetCore.App -Version [VersionOfYourChoice] 和/或执行Install-Package Microsoft.NETCore.App -Version [VersionOfYourChoice]

第 2 步: 编辑.csproj,如下图:

<PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <RuntimeFrameworkVersion>2.1.4</RuntimeFrameworkVersion>  <- add this line
    <!--<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch> --> <- alternative
</PropertyGroup>

另一个要点:如果您使用 Win10,请帮自己一个忙并检查已安装的 .NET Core SDK/运行时等。卸载您不需要的每个 SDK/运行时(再次:检查 Rick 的博客文章)。 您只需要您当前在您的一个项目中定位的那些。

例如:如果您正在开发一个 .NET Core 项目,并且您刚刚使用版本 2.1.4 完成了这两个步骤 - 在撰写本文时,您只需要 Microsoft .NET Core SDK 2.1.402。为了稍微清理一下,我卸载了每个 .NET Core SDK/Runtimes/Packages,并从here 获取了最新的。

注意:我关注this blog post from Jeff Atwood 回答了一个问题,我花了很长时间才解决。我希望这会有所帮助。

编辑.NET Core 2.2 的好消息:您只需按如下方式编辑 .csproj:

<PropertyGroup>
  <TargetFramework>netcoreapp2.2</TargetFramework>
  <RuntimeFrameworkVersion>2.2.0</RuntimeFrameworkVersion>
</PropertyGroup>

编辑: 元包不应再手动更新。 This is the recommendation for updating AspNetCore。元包的版本取决于安装的 SDK。

【讨论】:

【参考方案2】:

将此行添加到 .csproj 文件后,我仍然看到此问题。

<RuntimeFrameworkVersion>2.1.5</RuntimeFrameworkVersion>

将 Version 属性添加到 Microsoft.AspNetCore.App 包引用为我解决了这个问题。我改变了这个:

<PackageReference Include="Microsoft.AspNetCore.App" />

到这里:

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.5" />

Joshit's answer 中的第 1 步可能会自动执行此操作,但我已经拥有最新版本的 Microsoft.AspNetCore.App。

【讨论】:

这对我来说也是如此.. 太感谢了【参考方案3】:

呃。这个问题对我来说非常棘手。我执行了Joshit's answer 中的步骤,但错误仍然存​​在。然后我做了:

构建 > 清洁解决方案 构建 > 构建解决方案

现在它正在工作。

了解您的 SDK 版本会有所帮助,可在此处找到:C:\Program Files\dotnet\sdk

您也可以在发布时遇到此问题。将这些行添加到 publish_profile.pubxml 文件会很有帮助:

<TargetFramework>netcoreapp2.1</TargetFramework>
<RuntimeFrameworkVersion>2.1.0</RuntimeFrameworkVersion>

将 2.1.0 替换为 2.1.4 或您正在使用的任何版本。

【讨论】:

使用 Dockerfile 构建时如何解决错误“没有这样的文件或目录”错误

】使用Dockerfile构建时如何解决错误“没有这样的文件或目录”错误【英文标题】:Howdoisolvetheerror"Nosuchfileordirectory"errorwhenbuildingwithDockerfile【发布时间】:2018-01-0703:17:30【问题描述】:我的.net核心项目目录中有一个dockerfi... 查看详情

如何解决 Jenkins 构建失败错误:MSB4041

】如何解决Jenkins构建失败错误:MSB4041【英文标题】:howtosolveJenkinsBuildFailedError:MSB4041【发布时间】:2019-03-2604:28:48【问题描述】:我已将此项目构建为.Net标准项目,并且在构建此项目时在jenkins中遇到此错误问题:C:\\Users\\tahab.j... 查看详情

如何从 .net 核心使用 .net 框架?

】如何从.net核心使用.net框架?【英文标题】:Howtouse.netframeworkfrom.netcore?【发布时间】:2018-04-1608:36:08【问题描述】:我有一个.net核心xUnit项目,该项目引用了一个.net框架项目,该项目引用了Microsoft的AzureNotificationHubAPI。它可以... 查看详情

如何使用 powershell 构建、发布 ASP.NET 核心项目来构建服务器?

】如何使用powershell构建、发布ASP.NET核心项目来构建服务器?【英文标题】:Howtobuild,publishASP.NETcoreprojectusingpowershellforbuildserver?【发布时间】:2019-09-0321:35:39【问题描述】:我在VisualStudio中创建了一个空的ASP.NETCore2.2项目,我设... 查看详情

如何配置 .net 核心 API 以在 IIS 中工作?

】如何配置.net核心API以在IIS中工作?【英文标题】:HowdoIconfigurea.netcoreAPItoworkinIIS?【发布时间】:2018-05-3019:45:26【问题描述】:我在VisualStudio2017中创建了一个运行良好的.net核心API。当我去部署它时,我收到错误消息HTTP错误500.1... 查看详情

如何使用 Angular 7 保持 AngularCLIServer 在 asp.net 核心上的构建之间运行

】如何使用Angular7保持AngularCLIServer在asp.net核心上的构建之间运行【英文标题】:howtokeeptheAngularCLIServerrunningbetweenbuildsonasp.netcorewithAngular7【发布时间】:2019-08-0514:15:21【问题描述】:我正在使用ASPNetCore和Angular7。我的Angular应用程... 查看详情

调用.Net API时如何解决邮递员中的401未授权错误

】调用.NetAPI时如何解决邮递员中的401未授权错误【英文标题】:howtosolve401unauthorizederrorinpostmanwhencallinga.NetAPI【发布时间】:2022-01-0715:39:29【问题描述】:我有一个.net核心webapi工作正常并用swagger进行了测试,该方法也设置为允... 查看详情

无法解决反应导航/核心

】无法解决反应导航/核心【英文标题】:Can\'tresolvereact-navigation/core【发布时间】:2021-12-0614:39:16【问题描述】:我正在尝试构建一个带有一些导航的ReactNative应用程序,但每当我构建它时都会出现此错误,我正在使用expo来构建... 查看详情

你如何解决颤振构建错误?

】你如何解决颤振构建错误?【英文标题】:howdoyouresolveflutterbuilderrors?【发布时间】:2021-05-1221:14:35【问题描述】:我正在尝试为此应用程序构建APK文件,但我遇到了一些我不明白的错误。我已经搜索了这个平台和Github,但没... 查看详情

如何编辑默认的asp.net核心错误标签[重复]

】如何编辑默认的asp.net核心错误标签[重复]【英文标题】:Howtoeditthedefaultasp.netcoreerrortags[duplicate]【发布时间】:2022-01-1112:25:22【问题描述】:我目前正在尝试制作一个简单的票务系统,并且我正在使用asp.net提供的标签助手。我... 查看详情

代码.net核心的顺序应该是啥?

...回登录路径,我认为ConfigureServices中的代码顺序错误我该如何解决?publicvoidConfigureServices(IServiceCollectionservices)ser 查看详情

构建 Flutter iOS 应用程序时如何解决“格式错误的项目”构建错误

】构建FlutteriOS应用程序时如何解决“格式错误的项目”构建错误【英文标题】:Howtoresolvea"malformedproject"builderrorwhenbuildingaFlutteriOSapp【发布时间】:2021-05-1314:02:39【问题描述】:我接手了一个项目,发现自己面临这个问题... 查看详情

如何解决有关 Maven 的构建错误?

】如何解决有关Maven的构建错误?【英文标题】:Howcaniresolvemybuilderroraboutmaven?【发布时间】:2020-03-0723:43:15【问题描述】:我尝试使用Maven构建一个项目。在有pom.xml文件的文件夹中,我启动了gitbash并使用了“mvncompile”命令,但... 查看详情

如何解决此科尔多瓦构建错误?

】如何解决此科尔多瓦构建错误?【英文标题】:HowdoIfixthiscordovabuilderror?【发布时间】:2016-04-0516:58:07【问题描述】:我正在尝试构建“helloworld”cordova应用程序,并且我已经为cordova仔细安装了androidstudio、androidSDK和其他必需的... 查看详情

需要一些帮助来构建 asp.net 核心 webapi 中的 [HttpPost] 部分

...【发布时间】:2021-06-2518:24:41【问题描述】:我正在学习如何创建webapi,我需要一些帮助。我在构建后控制器时遇到问题!我无法使其直接在我创建的将值添加到数据库的方法中工作。我在搜索的内容、文档等方面找不到任何帮... 查看详情

如何解决 Jitpack “错误:未找到构建工件”?

】如何解决Jitpack“错误:未找到构建工件”?【英文标题】:HowtosolveJitpack"ERROR:Nobuildartifactsfound"?【发布时间】:2021-10-0108:05:36【问题描述】:Jitpack使用这个logs构建我的项目。如您所见,有一个错误:“ERROR:Nobuildartifact... 查看详情

如何正确地将 asp.net 核心模型状态错误反序列化为 xamarin 形式的对象

】如何正确地将asp.net核心模型状态错误反序列化为xamarin形式的对象【英文标题】:Howtoproperlydeserializeasp.netcoreModelStateerrorstoobjectinxamarinforms【发布时间】:2020-09-2102:06:51【问题描述】:我在尝试将asp.net核心模型状态错误反序列... 查看详情

如何在 Asp .net 核心网站(如博客)中制作喜欢/不喜欢按钮?

】如何在Asp.net核心网站(如博客)中制作喜欢/不喜欢按钮?【英文标题】:HowcanImakeaLike/DislikebuttoninanAsp.netcorewebsitelikeablog?【发布时间】:2021-08-0208:49:42【问题描述】:我是使用.netcoremvc进行Web开发的新手,我正在构建一个与Wor... 查看详情