gpt4 book ai didi

.net - 在 Visual Studio 2019 中发布为 "single file"时如何摆脱 SNI.dll?

转载 作者:行者123 更新时间:2023-12-03 23:42:18 25 4
gpt4 key购买 nike

我正在尝试发布一个非常简单的 C# .Net 5.0 WinForms 应用程序(单文件输出)作为测试用例,用于在使用 Visual Studio 2019 v16.8.2 时从 .Net Framework v4.6.1(之前的版本)进行移植。发布选项如下:

  • 配置:发布 |任何 CPU
  • 目标框架:net5.0-windows
  • 部署方式:依赖框架
  • 目标运行时:win-x64
  • 生成单个文件:已启用
  • 启用 ReadyToRun 编译:禁用

  • 尽管构建工作正常并将两个源程序集合并到一个输出可执行文件中,但它还在输出目录中包含 SNI.dll。如果没有此 DLL 与可执行文件位于同一文件夹中,应用程序将无法启动,所以我的问题是: 如何删除对 SNI.dll 的依赖,使其不包含在发布的可执行文件中并且不需要运行?
    该应用程序是一个使用 Crypto-API 生成随机数据的简单前端。它不包含任何数据库功能,这就是为什么输出中包含 SNI.dll 对我来说如此令人困惑的原因。据我所知,SNI.dll 与我不使用的 Microsoft.Data.SqlClient 相关
    对此的任何帮助将不胜感激。干杯
    附注。我应该提一下,我对谷歌这个错误的所有尝试都出现了关于“SNI.dll Missing”、“SNI.dll failed to load”或其他一些变体的文章

    最佳答案

    我遇到了和你一样的问题并找到了解决方案 here .事实证明,默认情况下,本地库并未捆绑在单个文件可执行文件中。您必须设置标志 IncludeNativeLibrariesForSelfExtracttrue得到这种行为。
    您可能还想检查您的 .deps.json 文件(来自您的构建文件夹),以了解您最初是如何获得此依赖项的。

    关于.net - 在 Visual Studio 2019 中发布为 "single file"时如何摆脱 SNI.dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65045224/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com