-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't load "libsass" when running on docker for windows linux container .netcore 2 #21
Comments
After a bit of digging, it looks like it has to do with .netcore2 docker image and LibSassHost targeting dotnetcore1. Image simply doesn't have older framework libraries. That said, do you have plans on migrating to dotnetcore2 anytime soon? |
Hello, Alexander!
.NET Core 2.0 is backward compatible with .NET Core 1.0. |
There is somewhat similar issue described here: aspnet/aspnet-docker#261. |
In the next 4-5 days I will try to release a new version. |
Went through couple more troubleshooting scenarios:
So it looks that some DLLs are missing in pure netcore2.0 docker debian image which are included when self-contained publishing is used. |
You have the following code in <PropertyGroup>
<RuntimeIdentifiers>…;debian-x64</RuntimeIdentifiers>
</PropertyGroup> |
@Taritsyn no, we don't have that. I'd like this project to be as generic as possible, so it can be deployed in any docker container (windows or linux). Specifying RuntimeIdentifiers is typically only for self-contained publishing which in turn increases the size of the whole docker image (same as specifying -r "debian-x64" during publish, it is an ok workaround for now and I'm glad it is working). You can see the source code here: https://github.com/VirtoCommerce/vc-storefront-core/blob/dev/VirtoCommerce.Storefront/VirtoCommerce.Storefront.csproj |
Hello, Alexander! In version 1.1.0 added support of .NET Standard 2.0. In addition, LibSassHost.Native.debian-x64 package has been replaced by the LibSassHost.Native.linux-x64 package. But it seems to me, that these changes will not help to solve your problem. You still need to add to <PropertyGroup>
<RuntimeIdentifiers>…;linux-x64</RuntimeIdentifiers>
</PropertyGroup> |
Awesome, I'll check it now! |
It works perfectly now! No need for RuntimeIdentifiers or self-contained deployments. Thanks for the quick release. |
Actually now I'm getting same error in windows container (it is windowsnano) and I have VC 2015 redist installed, any suggestions?:
|
Hello, Alexander! It is possible, that the Visual C++ Redistributable for Visual Studio 2015 is not installed on the server. |
Yeah, I think there is something wrong with installing VC redist on Windows Nano server, as the code below doesn't seem to be installing VC correctly. Is the DLL not included with a win nuget because of licensing restrictions? Btw, below is my dockerfile i use to generate the package for windows.
|
Try to install through the Chocolatey or deploy the |
I copied
|
Ok, I think I resolved it by copying 2 64 bit libraries to windows\system32 folder just like this:
|
In principle, these assemblies could be deployed locally (in the |
No bin folder in published version of .netcore2 and since it is docker image, it is fine to have it in that folder. Kinda odd though that system32 needs 64bit version of the dll. |
Hello, Alexander! Since version 1.2.6 the MSVC runtime was embedded into the native assemblies for Windows. Now you do not need to install the Microsoft Visual C++ Redistributable. |
I have the following error when running on linux container. I added all libraries including debian but it still seems that Proxy class can't locate correct runtime for libsass library. I am running using Docker for Windows and Linux container, here is the version of it (seems it should be compatible):
I am running on .net core 2.0, can this be an issue? Any help is appreciated!
The text was updated successfully, but these errors were encountered: