Как я могу использовать DLL, которая читает из web.config в. Net Core 3.1? - PullRequest
1 голос
/ 21 января 2020

У меня есть DLL, которую я использую для: Asp. net веб-сайта и WinForms, у меня проблемы с ее использованием в . Net Core 3.1 , DLL читает данные из Интернета. Например, config:

apiKey = ConfigurationManager.AppSettings["MyApiKey"];

Когда я пытаюсь запустить его с помощью. Net Core, я получаю эту ошибку:

System.IO.FileNotFoundException: 'Не удалось загрузить файл или сборка 'System.Configuration.ConfigurationManager, версия = 4.0.3.0, культура = нейтральная, PublicKeyToken = cc7b13ffcd2ddd51'. Системе не удается найти указанный файл. '

Когда я устанавливаю NuGet System.Configuration.ConfigurationManager

Я получаю эту ошибку:

System.Configuration.ConfigurationErrorsException: «Системе конфигурации не удалось инициализировать» ConfigurationErrorsException: нераспознанный раздел конфигурации system.serviceModel. (P: \ Projects \ MyProjectName \ bin \ Debug \ netcoreapp3.1 \ MyDllName.dll.config строка 48)

В строке 48 У меня есть Soap Привязки:

  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="MyTestServiceSoap">
          <security mode="Transport" />
        </binding>
        <binding name="MyTestServiceSoap1" />
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="https://ws.MyTest.com/ws/test/service.asmx" binding="basicHttpBinding" bindingConfiguration="MyTestServiceSoap" contract="MyTestServiceSoap.MyTestServiceSoap" name="MyTestServiceSoap" />
    </client>
  </system.serviceModel>

Проблема в том, что мне также нужно изменить этот параметр (строка 48), чтобы DLL работала нормально. Обратите внимание, что у меня есть разные настройки для отладки и выпуска.

Пожалуйста, сообщите

Ответы [ 2 ]

0 голосов
/ 24 января 2020

После проверки в Интернете невозможно использовать устаревшую DLL с. Net Core 3.1

Для работы DLL должна быть DOTNETSTANDART 2.0

Нет поддержки устаревших библиотек, таких как Linq2 SQL.

Так что мне нужно собрать новую DLL в 2.0, чтобы использовать ее с. Net Core 3.1 есть способ используйте 2.0 DLL в. Net Framework 4.6 и выше

0 голосов
/ 21 января 2020

Для. NET Основные приложения для взаимодействия со службами WCF необходимо установить System.ServiceModel.Primitives через NuGet.

Сначала установите его и посмотрите, работает ли он. Вам также может понадобиться установить NuGet System.ServiceModel.Http

Вот страница github

https://github.com/dotnet/wcf

...