升级 Net 7 随手笔记 (注意事项以及解决方案) – 持续更新「建议收藏」

升级 Net 7 随手笔记 (注意事项以及解决方案) – 持续更新「建议收藏」库生成提示 'xxx.dll' does not contain an entry point. 项目文件 PropertyGr

欢迎大家来到IT世界,在知识的湖畔探索吧!

升级 Net 7 随手笔记 (注意事项以及解决方案) - 持续更新「建议收藏」

  1. 条件编译 #if NET6_0 改为 #if NET7_0 或者 #if NET6_0_OR_GREATER
#if NET6_0_OR_GREATERusing BootstrapBlazor.Components;#endif

欢迎大家来到IT世界,在知识的湖畔探索吧!

  1. 项目目标支持6和7改为<TargetFramework>net6.0;net7.0</TargetFrameworks>,只需要7直接改为<TargetFramework>net7.0</TargetFramework>
  2. 多目标引用库参考
欢迎大家来到IT世界,在知识的湖畔探索吧!	<ItemGroup Condition="'$(TargetFramework)' != 'net7.0'">
		<PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" Version="6.0.0" />
	</ItemGroup>

	<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
		<PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" Version="7.0.0" />
	</ItemGroup> 
	<ItemGroup Condition="'$(TargetFramework)' == 'net6.0'">
	  <PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="6.0.10" />
	  <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.1" />
	</ItemGroup>

	<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
		<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="7.0" />
		<PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0" />
	</ItemGroup> 
  1. Maui工程或者库参考目标方案
欢迎大家来到IT世界,在知识的湖畔探索吧!<TargetFrameworks>netstandard2.0;netstandard2.1;net461;net6.0;net6.0-windows10.0.19041;net6.0-ios;net6.0-maccatalyst;net6.0-android;net7.0;net7.0-windows10.0.19041;net7.0-ios;net7.0-maccatalyst;net7.0-android</TargetFrameworks>
  1. 多目标 net461;net7.0 提示冲突 System.Drawing 存在于 4.0 和 7.0
    <ItemGroup Condition=" '$(TargetFramework)' == 'net7.0' ">
        <PackageReference Include="System.Drawing.Common" Version="7.0.0" />
        <PackageReference Include="Microsoft.Windows.Compatibility" Version="7.0" />
    </ItemGroup> 
  1. BrotliCompressionProviderOptions 提示 (CompressionLevel)4 不正确
            builder.Services.Configure<BrotliCompressionProviderOptions>(options =>
            {
                //options.Level = (CompressionLevel)4;
                options.Level = CompressionLevel.Optimal; //改为这个
            });
  1. 库生成提示 ‘xxx.dll’ does not contain an entry point. 项目文件 PropertyGroup 内加入 <OpenApiGenerateDocuments>false</OpenApiGenerateDocuments>
  2. 提示 证书链是由不受信任的颁发机构颁发的 , 链接串后加入 ;Encrypt=False
  3. 有编辑过 xxx.runtimeconfig.json 文件的同学注意了: 升级了net7,这个文件也要相应的更新. 例如本人就加过这句
"System.Drawing.EnableUnixSupport": true

并且生成 release 特定跳过了复制这个文件 xxx.runtimeconfig.json 倒置发布到 centos后服务无法启动,一直提示

  Unhandled exception. System.IO.FileLoadException: Could not load file or assembly 'System.Runtime, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. 
  The located assembly's manifest definition does not match the assembly reference. (0x80131040)
  File name: 'System.Runtime, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

排查了半天才想起这个文件. 新版默认文件内容为

{
  "runtimeOptions": {
    "tfm": "net7.0",
    "frameworks": [
      {
        "name": "Microsoft.NETCore.App",
        "version": "7.0.0"
      },
      {
        "name": "Microsoft.AspNetCore.App",
        "version": "7.0.0"
      }
    ],
    "configProperties": {
      "System.GC.Server": true,
      "System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
      "System.Reflection.NullabilityInfoContext.IsSupported": true,
      "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false,
      "System.Drawing.EnableUnixSupport": true //这句是我项目另外加的
    }
  }
}
PLAINTEXT 复制 全屏

分类: .Net7

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/18338.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信