.Net 6 已知问题集

1、NET6 连 SQL2019 时,连接字符串上要加 TrustServerCertificate=True;  不然会报证书错误

2、NET6 在 Linux 系统中,会遇到 System.Drawing.Common 的问题

  • App Context
    在项目启动时,配置 AppContext Switch,设置 System.Drawing.EnableUnixSupport
    System.AppContext.SetSwitch("System.Drawing.EnableUnixSupport", true);

  • Runtime Config Json 
    在应用 build/publish 之后,会有一个 *.runtimeconfig.json我们可以直接修改这个文件
    1 {
    2    "runtimeOptions": {
    3       "configProperties": {
    4          "System.Drawing.EnableUnixSupport": true
    5       }
    6    }
    7 }
  • MS Build
    我们也可以在项目文件中添加一个下面的配置,作用和上面的直接修改 runtimeconfig.json 效果一样,只是 .NET SDK 会在生成的时候将这个配置写入到 runtimeconfig.json 中

    1 <ItemGroup>
    2       <RuntimeHostConfigurationOption Include="System.Drawing.EnableUnixSupport" Value="true" />
    3 </ItemGroup>
  • Environment Variable
    除此之外我们也可以配置环境变量 DOTNET_System_Drawing_EnableUnixSupport 来启用 Unix 支持

    1. Dockerfile 示例:

       ENV DOTNET_System_Drawing_EnableUnixSupport=true  

    2. Unix 示例:
       export DOTNET_System_Drawing_EnableUnixSupport true 

3、自带的 Linq 增强,和 MoreLinq 出现二义性,需要移除引用

原文地址:https://www.cnblogs.com/taotaodetuer/p/15629222.html