Файл .csproj не может копировать файлы .json на серверах сборки Linux и macOS после использования Visual Studio 2019 - PullRequest
0 голосов
/ 25 октября 2019

У меня есть приложение ASP.NET Core 2.2, и я разрабатывал с VS2017, когда я начал использовать VS2019, первое, что произошло, - это остановка сборки sln с ошибкой, указывающей на мои файлы .csproj, например

Код серьезности Описание Ошибка состояния подавления строки файла проекта NETSDK1022 Были включены повторяющиеся элементы «Содержимое». .NET SDK по умолчанию включает элементы «Содержимое» из каталога вашего проекта. Вы можете удалить эти элементы из файла проекта или установить для свойства «EnableDefaultContentItems» значение «false», если вы хотите явно включить их в файл проекта. Для получения дополнительной информации см. https://aka.ms/sdkimplicititems. Повторяющиеся элементы: «plugin.json» ForkMeRibbon C: \ Program Files \ dotnet \ sdk \ 3.0.100 \ Sdks \ Microsoft.NET.Sdk \ target \ Microsoft.NET. Sdk.DefaultItems.targets 316

Причина в том, что в моем csprojs есть определенные файлы .json, которые мне нужно включить во время сборки, поэтому у меня есть эти строки в моем файле .csproj, как показано ниже,отлично работал с VS2017, но VS2019 жалуется. После того, как я удалил эти строки и все заработало в VS2019.

<ItemGroup>
   <Content Include="plugin.json" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>

Затем, после того, как я проверил свой код в github, серверы сборки Azure Pipeline, AppVeyor и Travis CI недовольны, они жалуются, что мои "файл plugin.json "не найден. После некоторых трудностей я смог исправить сборку для AppVeyor, изменив image: Visual Studio 2017 на image: Visual Studio 2019 в файле yml.

Похоже, что серверы сборки сконфигурированы с конфигурациями VS2017-ish, если вы не скажете ему использовать конфигурации, совместимые с VS2019, он не скопирует мой файл json, что приведет к ошибкам. Пока что все сборки Windows в порядке, но сборки Linux и macOS на Azure Pipeline и Travis CI - нет, например, это сбойная сборка на Travis и сообщение error MSB3030: Could not copy the file "bin/Debug/netcoreapp2.2/plugin.json" because it was not found.

Кто-нибудь еще сталкивался с этой проблемой и как вы ее решили?

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