Название вашего вопроса - «Цель Accord.Dll.Config», и с учетом содержания, скопированного в вашем вопросе, цель состоит в том, чтобы сопоставить любой P / Invoke, используя «ntdll.dll», с «libc.so. 6 "в Linux, Solaris и FreeBSD. Так что, с одной стороны, если вы не собираетесь запускать свое приложение на этих платформах, вам, вероятно, не нужен этот файл.
Тем не менее, я запутался, почему это вообще есть в вашем проекте. Похоже, что пакет не изменяет ваш csproj, поэтому кажется, что кто-то вручную добавил его в csproj. Вместо этого пакет содержит файл build/accord.targets
, который содержит такое же содержимое. Полагая, что вы, похоже, используете packages.config, NuGet должен был изменить проект, чтобы импортировать файл accord.targets
, с условием, указывающим, когда файл существует, так что восстановление завершается успешно, но также добавляя цель, говорящую, что если файл не существует существует при сборке, сбой при сборке с сообщением о том, что пакеты не были восстановлены.
Учитывая, что ваш csproj, по-видимому, был изменен вручную, если ваш проект находится под контролем исходного кода, вы можете рассмотреть вопрос о том, кто таким образом изменил csproj, и спросить их об этом. Но вы используете версию 3.5.0 этого пакета, а версия 3.6.0 была выпущена 7 июля 2017 года. Это означает, что вашему проекту, вероятно, не менее 2 лет, и детали о том, почему был отредактирован csproj, могут быть забыты Теперь.
В любом случае, я предлагаю да, удалить эту группу элементов из вашего csproj. Не потому, что вы не работаете в режиме моно, а потому, что его никогда не следовало добавлять в ваш проект.