2

I want to use the Microsoft.InformationProtection.File.Ubuntu1804 in a netcore3.1 console app. I published my app with the command:

dotnet publish MipConsole.csproj -o ../publish -f netcoreapp3.1 -c Release -r linux-x64

When I run it in docker image (mcr.microsoft.com/dotnet/core/aspnet:3.1-bionic) but i get the following error:

Unhandled exception. System.ComponentModel.Win32Exception (0x80004005): LoadLibrary failed for: [/publish/libmip_dotnet.so]
   at Microsoft.InformationProtection.Utils.SafeNativeMethods.LoadLibrary(String dllToLoad)
   at Microsoft.InformationProtection.Utils.Loader.LoadDlls(String dllFolder, String dllName, String[] dllDependencies)
   at Microsoft.InformationProtection.MIP.Initialize(MipComponent mipComponent, String path)
   at MipConsole.Program.Main(String[] args)
   at MipConsole.Program.<Main>(String[] args)

In other post, the solution for windows application is to install VC++ redistributable... But what is the solution for Ubuntu ?

  • What's the `.NET Core` runtime on the docker image? Looks like you're missing libmip_dotnet. – Martin Nov 03 '20 at 19:43

1 Answers1

3

I'm working on getting this documented. You're likely missing the MIP SDK dependencies for Ubuntu. You can install those by:

sudo apt-get install libgsf-1-dev libssl-dev libsecret-1-dev freeglut3-dev libcpprest-dev libcurl3-dev uuid-dev
Tom Moser
  • 748
  • 3
  • 5