С# Windows формирует ошибку ссылки на приложение в выпуске

У меня есть приложение Windows Forms с WindowsAPICodePack, но я не знаю, куда мне поместить пакет в папку выпуска, а без него программа просто выдает мне ошибку (это на венгерском языке, поэтому я не думаю, что кто-то может понять, но он сказал, что не может найти windowsAPICodePack, номер версии, культуру и токен публичного ключа) на другом ПК, на моем это работает.


person baggett    schedule 25.12.2019    source источник
comment
Используете ли вы проект msi или msix для упаковки своего приложения)   -  person SoftwareCarpenter    schedule 25.12.2019
comment
Нет, это проблема?   -  person baggett    schedule 25.12.2019
comment
Это зависит без дополнительной информации. Если вы планируете распространять свое приложение, то да, оно упакует все зависимости, необходимые вашему приложению, и установит их там, где это необходимо. Однако, если вы просто создаете приложение и получаете эту ошибку, вам нужно другое решение.   -  person SoftwareCarpenter    schedule 25.12.2019
comment
Это школьный проект, я возьму его в школу на флешке (я там ничего не могу)   -  person baggett    schedule 25.12.2019
comment
У меня есть эта ошибка, когда я тестирую на другом компьютере   -  person baggett    schedule 25.12.2019
comment
Затем создайте и установите выходное свойство на свой USB-накопитель. Посмотрите ответ, чтобы выяснить, где ваше приложение ищет пакет, а затем перейдите на свой USB-накопитель.   -  person SoftwareCarpenter    schedule 25.12.2019
comment
какая ошибка? Вы можете заставить приложение работать локально?   -  person SoftwareCarpenter    schedule 25.12.2019
comment
да, это работает на моем компьютере, но когда я пытаюсь использовать его на другом компьютере, это дает мне ошибку (я могу отправить это, но это венгерский язык, или я могу отправить программу)   -  person baggett    schedule 25.12.2019
comment
Если это просто школьный проект, просто удалите все ссылки на пакеты NuGet и найдите dll. Затем просто добавьте ссылку на dll и проверьте, чтобы свойство включалось в вывод. Это даст вам простую папку со всеми файлами, необходимыми для запуска вашего приложения с флешки.   -  person SoftwareCarpenter    schedule 25.12.2019
comment
Можете ли вы отметить ответ, пожалуйста ... рад, что это сработало   -  person SoftwareCarpenter    schedule 25.12.2019
comment
Должен ли я нажать принять ответ ниже этого?   -  person baggett    schedule 25.12.2019
comment
Да. Я обновлю ответ последним комментарием. Спасибо   -  person SoftwareCarpenter    schedule 25.12.2019


Ответы (1)


В зависимости от того, использует ли ваше приложение файл packages.config для управления пакетами или ваш проект использует ссылки на пакеты (PackageReference), будет определен путь к решению.

Когда пакет установлен, он записывает идентификатор и версию пакета в файл проекта или файл packages.config в рабочей области вашего решения.

  1. Если вы используете package.config для управления пакетами, убедитесь, что ваши пакеты устанавливаются в том месте, где и ожидалось, возможно, очистка кеша поможет установить правильную версию.
  2. узнайте папку пакетов, в которую ваше приложение пытается загрузить ссылки.
  3. Возможно переадресация привязки конфига.
  4. Очистите кеш пакетов и переустановите. используйте пользовательский интерфейс диспетчера пакетов для ваших конфигураций «отладки» и «выпуска» MSBuild, чтобы убедиться, что на пакет ссылаются правильно.
  5. Проверьте файл настроек nuget.xml на предмет расположения пакетов.
  6. Прочитайте все значения версий или свойств, которые нужно использовать для вашего приложения. Убедитесь, что вы настраиваете цель выпуска, как и ожидалось.

Вот несколько ссылок, которые помогут вам настроить правильную настройку для вашего подхода:

Ссылка на пакет через файлы проекта

при использовании — настройки Packages.config

Параметр конфигурации для NuGet


Примечание: для простоты, если это просто школьный проект, просто удалите все ссылки на пакеты NuGet и найдите dll. Затем просто добавьте ссылку на dll и проверьте, чтобы свойство включалось в вывод. Это даст вам простую папку со всеми файлами, необходимыми для запуска вашего приложения с флешки.

person SoftwareCarpenter    schedule 25.12.2019