TransWikia.com

How do I get rid of SNI.dll when publishing as a "single file" in Visual Studio 2019?

Stack Overflow Asked by HumanBean on January 15, 2021

I’m trying to publish a very simple C# .Net 5.0 WinForms application (single file output) as a test case for porting from the .Net Framework v4.6.1 (what it was previously) while using Visual Studio 2019 v16.8.2. The Publish options are as follows:

  • Configuration: Release | Any CPU
  • Target Framework: net5.0-windows
  • Deployment Mode: Framework-dependent
  • Target-Runtime: win-x64
  • Produce Single File: Enabled
  • Enable ReadyToRun Compilation: Disabled

Although the build works fine and merges the two source assemblies into a single output executable, it also includes SNI.dll in the output directory. The application will not start without this DLL in the same folder as the executable so my question is: How do I remove the dependency on SNI.dll so it does not get included with the published executable and is not required to run?

The application is a simple front-end to generate random data using the Crypto-API. It does not include any database functionality whatsoever, which is why it’s so confusing to me that SNI.dll is included in the output. As far as I can tell, SNI.dll is related to Microsoft.Data.SqlClient, which I don’t use

Any help with this would be most appreciated. Cheers

PS. I should mention, all my attempts to Google this fault have turned up articles about "SNI.dll Missing", "SNI.dll failed to load" or some other variant of that

One Answer

I faced the same problem as yours and found the solution here. It turns out that native libraries are not bundled in the single file executable by default. You must set the flag IncludeNativeLibrariesForSelfExtract to true to get this behavior.

You might also want to check your .deps.json file (from your build folder) to see how you got this dependency in the first place.

Correct answer by Simon V. on January 15, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP