NETSDK1061错误解决

  • 在vs生成和运行都正常,发布的时候报错
  • .netcore控制台项目引用另一个类库
  • 错误信息
NETSDK1061: 项目是使用 Microsoft.NETCore.App 版本 2.1.2 还原的, 但使用当前设置, 将改用版本 2.1.0。要解决此问题, 请确保将相同的设置用于还原和后续操作 (如生成或发布)。通常, 如果 RuntimeIdentifier 属性是在生成或发布过程中设置的, 而不是在还原过程中进行的, 则会发生此问题。有关详细信息, 请参阅 https://aka.ms/dotnet-runtime-patch-selection

解决办法

  • 用记事本打开所有项目的.csproj项目文件,在所有项目的项目文件中加上<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>,如下所示

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
    <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    </PropertyGroup> <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
    </ItemGroup> </Project>
  • 有关说明
  • 大概意思是说,正常使用命令restore还原包的时候会选择最新的程序版本,发布的时候命令restore被隐式调用,不能使用最新的版本,两者版本不一致就会报错。将TargetLatestRuntimePatch属性设置为 true就避免在发布的时候还原

猜想

  • 既然版本不一致会导致冲突,那我有个猜想,项目使用的版本是2.1.0,最新的是2.1.2,那只要把2.1.2版本卸载,是正常还原和发布的时候还原同一版本,那么就不会产生错误了。有待验证

总结

  • 根据异常提示信息到搜索引擎搜索无果,那么就根据里面的链接去查找解决方法。
  • 一开始也是一脸懵逼,加了个属性解决了问题,还是不知道怎么回事,还是在写随笔的时候在看多几次才突然理解的
  • 知道了问题发生的原因,只要不触发发生问题的条件那么就算解决了

原文链接

最新文章

  1. IEEE754、VAX、IBM浮点型介绍和.NET中互相转换
  2. 第三周作业--VS 2013 单元测试
  3. 安装及破解IntelliJ IDEA15
  4. Map和hash_map
  5. 在页面中使用js
  6. Sqlyog增加试用期
  7. Install Cocos2d-x v3.3 on Ubuntu 14.04 &amp; Ubuntu 14.10(转)
  8. Instruments的使用 逻辑查错,内存泄漏分析等工具集
  9. 【推荐】PHP中格式化时间函数date与gmdate的区别 | 修改PHP的默认时区
  10. SpringMVC参数校验(针对`@RequestBody`返回`400`)
  11. JavaScript(第三十天)【XPath】
  12. python之面向对象深入探测
  13. 12 week work
  14. 一个实际的案例介绍Spring Boot + Vue 前后端分离
  15. Vue.js基础(一)
  16. linux计划任务之crontab
  17. css3文字截断
  18. 分享一篇IBN(Intent-based networking)调研报告
  19. Zookeeper安装以及配置说明(三)
  20. java多线程实现主线程等待子线程执行完问题

热门文章

  1. Java注解拾遗
  2. jQuery全能图片滚动插件
  3. 【python爬虫】 之 爬取百度首页
  4. Angular js部分关键字的理解
  5. ArcGIS中的坐标系统定义与投影转换
  6. VS2013下使用log4cplus
  7. Java多线程学习笔记(一)
  8. 毕向东_Java基础视频教程第20天_IO流(11~14)
  9. 微信分享BUG
  10. Visual Studio Code 之 运行java代码