#c# #docker #asp.net-core #.net-core
#c# #docker #asp.net-core #.net-core
Вопрос:
У меня есть ASP.Net Основное приложение, которое нормально работает на IISExpress.
Я совершенно новичок в Docker, поэтому, когда я добавляю поддержку Docker в проект и запускаю его, он захлебывается в этом разделе:
DirectoryEntry processEntry = new DirectoryEntry("LDAP://MyLdap", user, password);
processEntry.Options.Referral = ReferralChasingOption.Subordinate;
DirectorySearcher searcher = new DirectorySearcher(processEntry);
С ошибкой:
DllNotFoundException: Unable to load DLL 'activeds.dll' or one of its dependencies: The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Я полагаю, это потому, что Docker не может видеть dll, поэтому я добавил следующее в Dockerfile:
COPY ["C:/Windows/System32/activeds.dll","activeds.dll"]
Но, похоже, это не улучшило ситуацию, как мне сделать dll доступной для контейнера Docker?
Комментарии:
1. Эта ошибка говорит о том, что DLL не была найдена в папке вашего приложения или GAC. .NET не просматривает System32, он просматривает папку приложения или GAC. Поскольку вы используете docker, вам следует поместить эту сборку в ту же папку, что и приложение
2. Все пространство имен DirectoryServices доступно только в полной платформе. Как вы добавили это в свое приложение? Вы использовали пакет совместимости с Windows ?
3. @Lobsterpants Используете ли вы контейнеры Windows или Linux? Поддержка .NET Framework доступна только в контейнерах Windows Docker.
4. @anuraj да, я использую контейнеры Windows