求帮助NET croe 导出类库无法注册的问题

在使用.netcro3 时有一个警告错误

严重性 代码 说明 项目 文件 行 禁止显示状态
警告 NU1701 已使用“NETFramework,Version=v4.6.1.”而不是项目目标框架“.NETCoreApp,Version=v3.1”还原包“BouncyCastle 1.8.9”。此包可能与项目不完全兼容。 smdemo D\百度云同步盘\开发\接口文档\emo.csproj 1

这个包也显示叹号

但是直接运行控制台程序却是正常的
然后我将其增加一个inteface 输出为类库以后
去注册报错
未能加载文件或程序集“System.Runtime,Version=4.2.2.8,cultrue=neutral PublicKeyToken=b@3f5f7f11d5Ga3a”
PublicKeyToken=b@”或它的某一个依赖项。系统找不到指定的文件。
所以我怀疑就是上面这个包没被加载进去

我想要的结果,可以注册成功,并被delphi 调用接口的方法,用.NETfra开放COM
口的 的测试程序是调用成功的

如果在项目中出现警告 NU1701,表明您在项目中使用了不兼容的依赖包。您需要找到可以与项目目标框架 ".NETCoreApp, Version=v3.1" 兼容的版本并使用。

如果在注册程序时出现错误 "System.Runtime, Version=4.2.2.8, cultrue=neutral PublicKeyToken=b@3f5f7f11d5Ga3a" 或它的某一个依赖项的文件找不到,表明该文件不存在于系统中。您可以考虑检查项目中的引用设置,确保您正在使用最新的可用版本。

在nuget里把BouncyCastle的三方包更新成支持.net core的版本

警告 NU1701 已使用“NETFramework,Version=v4.6.1.”而不是项目目标框架“.NETCoreApp,Version=v3.1”还原包“BouncyCastle 1.8.9”。此包可能与项目不完全兼容。
这个警告已经告诉你,NETCoreApp,Version版本不兼容,需要找到对应的兼容包

该回答引用ChatGPT
_请参考下面的解决方案,如果有帮助,还请点击 “采纳” _
您可以尝试以下解决方案:
1、删除不支持.NET Core 的 BouncyCastle 程序集,并找到支持.NET Core 的替代方案;
2、使用 NuGet 包管理器更新 System.Runtime 包;
3、在 .csproj 文件中更改项目的目标框架,以支持 BouncyCastle 程序集的要求;
4、检查系统上是否已安装 .NET Framework 4.6.1,并在控制台程序上进行相应的配置。
最后,您可以对代码进行更详细的检查,以确保代码是否正确,并与 Delphi 进行适当的集成。

  1. 尝试用管理员权限运行regsvr32程序;
  2. 检查DLL文件的版本是否与安装的.NET Framework版本兼容;
  3. 检查Windows的系统类型是32位还是64位,选择对应的DLL版本;
  4. 如果存在,尝试卸载当前版本的.NET Framework后重新安装;
  5. 根据当前系统环境,更新系统中存在的相关依赖项。

以下答案引用自GPT-3大模型,请合理使用:
我的系统是windows10,net croe是.net 4.7.1

首先,您需要确认BouncyCastle 1.8.9这个包是否与目标框架“.NETCoreApp,Version=v3.1”完全兼容。如果不兼容,可以添加bindingRedirects 节点,将目标框架的版本指向BouncyCastle 1.8.9所需要的目标框架。然后,尝试编译后再次使用开发环境来进行调试,检查是否能够正常注册并被delphi调用接口的方法。

更新BouncyCastle到与.NETCoreApp版本匹配的版本,如果没有可用的.NETCoreApp版本,考虑更改项目的目标框架为.NET Framework。

看一下系统是否匹配,另外 Framework也许会与你下的其他框架冲突,可以更改默认的路径,也可以增加环境变量试一下