zoukankan      html  css  js  c++  java
  • .NET Core中NETSDK1061错误解决(转载)

    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版本卸载,是正常还原和发布的时候还原同一版本,那么就不会产生错误了。有待验证

    总结

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


    原文链接

  • 相关阅读:
    【其他】UTF-8带签名与不带签名
    【Python】Python 过滤列表
    【EF】EF扩展库(批量操作)
    【python】用 sqlacodegen 将存在的数据库表 转化成model.py
    【python】使用枚举类
    【python】Python: Enum枚举的实现
    【python】python sqlalchemy core
    【python】python字符串前面加u,r,b的含义
    【EF】Entity Framework Core 2.0 特性介绍和使用指南
    Asp.Net 之 前台绑定常用总结
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/9858667.html
Copyright © 2011-2022 走看看