. net core 3.1 не будет публиковаться sh до linux, если я ссылаюсь на пакет Nuget Log 4Net - PullRequest
0 голосов
/ 09 марта 2020

У меня есть простое приложение для рабочего (использующее шаблон службы работника), которое является всего лишь тестом, помогающим мне перевести базовый проект. net для запуска на linux. Моя проблема в том, что когда я ссылаюсь на пакет nuget для журнала 4Net, я получаю сообщение об ошибке при попытке опубликовать sh.

Целевое расположение: файл в локальной конфигурации HD: Release Target Framework: netcoreapp3. 1 Target Runtime: linux -x64

"Publish has encountered an error.
Publish has encountered an error. We were unable to determine the cause of the error. Check the output log for more details. "

Проверка журнала во временном каталоге показывает

"3/9/2020 11:09:39 AM
System.AggregateException: One or more errors occurred. ---> System.Exception: Publish has encountered an error. We were unable to determine the cause of the error. Check the output log for more details. 
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Microsoft.Publish.Framework.Model.DefaultPublishSteps.<>c__DisplayClass26_0.<IsBuildCompletedSuccessfully>b__2()
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Publish.Framework.Model.DefaultPublishSteps.<DefaultCorePublishStep>d__23.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Publish.Framework.ViewModel.ProfileSelectorViewModel.<RunPublishTaskAsync>d__213.MoveNext()
---> (Inner Exception #0) System.Exception: Publish has encountered an error. We were unable to determine the cause of the error. Check the output log for more details. <---

System.Exception: Publish has encountered an error. We were unable to determine the cause of the error. Check the output log for more details. 

===================


<Project Sdk="Microsoft.NET.Sdk.Worker">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <UserSecretsId>dotnet-UnbuntuWorker-7195FC82-40A3-4F0A-A32C-29EA1B03EA6E</UserSecretsId>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="log4net" Version="2.0.8" />
    <PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.1" />
  </ItemGroup>

  <ItemGroup>
    <Content Update="log4net.config">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
  </ItemGroup>

  <ItemGroup>
    <Folder Include="LogConfig\" />
  </ItemGroup>
</Project>

Спасибо за любую помощь

1 Ответ

1 голос
/ 11 марта 2020

На случай, если кто-то еще столкнется с этой проблемой. Я решил это, добавив кучу пакетов Nuget. Я выяснил, какие пакеты, запустив сборку с помощью командной строки VS Developer с таргетингом linux

dotnet build -r linux-x64 

Это дало мне кучу ошибок о том, что System.xxx.xxx - неправильная версия, поэтому мне пришлось найти чтобы получить последнюю версию, они могут получить последнюю версию.

Как ни странно, иногда я добавляю версию и все равно получаю сообщение об ошибке, а затем старая версия отображается в зависимостях. Обычно его удаление и повторное добавление разрешало бы его.

Как только все проблемы были решены, он, наконец, опубликовал sh.

...