【发布时间】:2020-11-28 00:16:17
【问题描述】:
我正在尝试发布一个非常简单的 C# .Net 5.0 WinForms 应用程序(单个文件输出)作为从 .Net Framework v4.6.1(以前的版本)移植的测试用例,同时使用 Visual Studio 2019 v16。 8.2.发布选项如下:
- 配置:发布 |任何 CPU
- 目标框架:net5.0-windows
- 部署模式:依赖框架
- 目标运行时:win-x64
- 生成单个文件:已启用
- 启用 ReadyToRun 编译:已禁用
虽然构建工作正常并将两个源程序集合并为一个输出可执行文件,但它还在输出目录中包含 SNI.dll。如果没有此 DLL 与可执行文件位于同一文件夹中,应用程序将无法启动,所以我的问题是:如何删除对 SNI.dll 的依赖,使其不包含在已发布的可执行文件中并且不需要运行?
该应用程序是一个使用 Crypto-API 生成随机数据的简单前端。它不包含任何数据库功能,这就是为什么输出中包含 SNI.dll 让我如此困惑的原因。据我所知,SNI.dll和Microsoft.Data.SqlClient有关,我没用过
对此的任何帮助将不胜感激。干杯
PS。我应该提一下,我所有的谷歌尝试都发现了关于“SNI.dll Missing”、“SNI.dll failed to load”或其他一些变体的文章
【问题讨论】: