'Не удалось загрузить тип' System.IO.Compression.ZipFile 'из сборки' Newtonsoft. Json ' - PullRequest
1 голос
/ 07 августа 2020

Я использую System.IO.Compression.ZipFile NuGet для извлечения .zip архива. Код выглядит так:

ZipFile.ExtractToDirectory(gameFolderAbsolutePath + api, gameFolderAbsolutePath, true);

Нет проблем при использовании скомпилированного приложения в любой конфигурации (Debug / Release). Проблема возникает, когда приложение запускается после публикации sh со следующими настройками: enter image description here

After this published app is run it crashes at the code line shown above giving this exception message: System.TypeLoadException: 'Could not load type 'System.IO.Compression.ZipFile' from assembly 'Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed'.'

I'm not aware of why should have System.IO.Compression.ZipFile look for something in Newtonsoft.Json tho.

Publish.pubx.xml:

<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121. 
-->
  Release  Any CPU  P: \ ReleaseCandidate \ installer-binaries \ data  Файловая система  netcoreapp3.1  win-x86  true  True  Истина  Истина    

Ссылка на пакет из .csproj:

<ItemGroup>
  <PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.6" />
  <PackageReference Include="Microsoft.Extensions.PlatformAbstractions" Version="1.1.0" />
  <PackageReference Include="NLog" Version="4.7.3" />
  <PackageReference Include="RestSharp" Version="106.11.4" />
  <PackageReference Include="RestSharp.Serializers.NewtonsoftJson" Version="106.11.4" />
  <PackageReference Include="System.IO.Compression.ZipFile" Version="4.3.0" />
  <PackageReference Include="System.Net.NameResolution" Version="4.3.0" />
  <PackageReference Include="System.Runtime.InteropServices" Version="4.3.0" />
</ItemGroup>

1 Ответ

0 голосов
/ 07 августа 2020

Даже несмотря на то, что я много раз пытался опубликовать sh приложение со снятым флажком «Обрезать неиспользуемые сборки (в предварительном просмотре)», оказалось, что оно не было запущено в процесс. Проблема была решена после удаления избыточных тегов из .csproj .

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