Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C#.net 6.0的警告 #5

Open
huster-songtao opened this issue May 19, 2022 · 1 comment
Open

C#.net 6.0的警告 #5

huster-songtao opened this issue May 19, 2022 · 1 comment

Comments

@huster-songtao
Copy link

2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(51,11,51,18): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Key_Modulus”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(51,11,51,18): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Key_Exponent”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(51,11,51,18): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Key_D”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(51,11,51,18): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_P”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(51,11,51,18): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_Q”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(51,11,51,18): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_DP”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(51,11,51,18): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_DQ”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(51,11,51,18): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_InverseQ”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(60,18,60,31): warning CS8601: 可能的 null 引用赋值。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(61,19,61,33): warning CS8601: 可能的 null 引用赋值。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(64,13,64,20): warning CS8601: 可能的 null 引用赋值。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(66,13,66,20): warning CS8601: 可能的 null 引用赋值。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(67,13,67,20): warning CS8601: 可能的 null 引用赋值。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(68,14,68,22): warning CS8601: 可能的 null 引用赋值。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(69,14,69,22): warning CS8601: 可能的 null 引用赋值。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(70,20,70,34): warning CS8601: 可能的 null 引用赋值。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(56,10,56,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Key_Modulus”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(56,10,56,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Key_Exponent”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(56,10,56,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Key_D”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(56,10,56,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_P”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(56,10,56,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_Q”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(56,10,56,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_DP”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(56,10,56,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_DQ”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(56,10,56,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_InverseQ”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA.cs(67,12,67,16): warning CS8603: 可能返回 null 引用。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA.cs(69,18,69,22): warning CS8600: 将 null 文本或可能的 null 值转换为不可为 null 类型。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA.cs(72,12,72,16): warning CS8603: 可能返回 null 引用。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA.cs(76,12,76,16): warning CS8603: 可能返回 null 引用。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(97,10,97,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Key_D”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(97,10,97,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_P”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(97,10,97,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_Q”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(97,10,97,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_DP”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(97,10,97,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_DQ”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(97,10,97,17): warning CS8618: 在退出构造函数时,不可为 null 的 字段“Val_InverseQ”必须包含非 null 值。请考虑将 字段 声明为可以为 null。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA.cs(108,12,108,16): warning CS8603: 可能返回 null 引用。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA.cs(127,18,127,22): warning CS8600: 将 null 文本或可能的 null 值转换为不可为 null 类型。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(254,18,254,22): warning CS8600: 将 null 文本或可能的 null 值转换为不可为 null 类型。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA.cs(189,10,189,49): warning CA1416: 可在所有平台上访问此调用站点。"RSACryptoServiceProvider" 在 'windows' 上受支持。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA.cs(187,20,187,39): warning CA1416: 可在所有平台上访问此调用站点。"CspParameters" 在 'windows' 上受支持。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA.cs(188,4,188,19): warning CA1416: 可在所有平台上访问此调用站点。"CspParameters.Flags" 在 'windows' 上受支持。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA.cs(180,4,180,19): warning CA1416: 可在所有平台上访问此调用站点。"CspParameters.Flags" 在 'windows' 上受支持。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA.cs(179,20,179,39): warning CA1416: 可在所有平台上访问此调用站点。"CspParameters" 在 'windows' 上受支持。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA.cs(181,10,181,58): warning CA1416: 可在所有平台上访问此调用站点。"RSACryptoServiceProvider" 在 'windows' 上受支持。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(148,20,148,39): warning CA1416: 可在所有平台上访问此调用站点。"CspParameters" 在 'windows' 上受支持。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(149,4,149,19): warning CA1416: 可在所有平台上访问此调用站点。"CspParameters.Flags" 在 'windows' 上受支持。
2>D:\Projects\Trade\Net60\Infrastructure\Cryptography\RSA_PEM.cs(150,14,150,53): warning CA1416: 可在所有平台上访问此调用站点。"RSACryptoServiceProvider" 在 'windows' 上受支持。

RSACryptoServiceProvider应该是最大的问题,.net core上不兼容。

@xiangyuecn
Copy link
Owner

null的警告可以全部忽略(这些代码要在老旧编译器里面编译),应该有注解可以抑制这个警告。现在源码里面的Test-Build-Run.sh脚本是通过csproj里面配置Nullable=disable 来忽略了这个警告:

sed -i -e 's/Nullable>enable/Nullable>disable/g' $projFile


RSACryptoServiceProvider 这些仅在windows上可用的代码,实际工作时也只会在windows上进行调用(.NET Framework),.NET Core上不会调用这些代码;应该也是有注解可以抑制这个警告,但要多写几行条件编译比较麻烦,不然代码在老旧编译器里面编译不了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants