C # Dependency Injection и исключение загрузки dll - PullRequest
0 голосов
/ 15 мая 2019

& emsp; Я создаю проект, который должен использоваться на машинах Windows и Linux. Решение содержит 3 проекта: реализацию собственных функций Win - Windows, реализацию собственных функций Lin - Linux и базовый проект, который содержит все зависимости и разрешает их на основе информации времени выполнения. Проект Win имеет целевой фреймворк: .Net framework 4.6.2, проект Linux: - .Net стандарт 2.0, а основной проект является многоцелевым:

<TargetFrameworks>netstandard2.0;net462</TargetFrameworks>

Проблема здесь в том, что некоторые классы в проекте Win используют UIAutomationClient и UIAutomationTypes специфичные для Windows библиотеки DLL. И пока я запускаю свой проект в VS, если приложение вызывает этот класс, я получаю следующее исключение:

Could not load file or assembly 'UIAutomationClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.

в проекте Win.

Я попытался изменить файл Core.csproj и добавить следующие строки:

<ItemGroup Condition="'$(TargetFramework)'=='net462'">
  <Reference Include="UIAutomationClient"/>
  <Reference Include="UIAutomationTypes"/>
</ItemGroup>

Но он добавляет ссылки, пока исключение все еще существует. Помогите мне пожалуйста разобраться, как решить эту проблему. Я предоставлю больше кода, если это необходимо.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...