Используя пакет NuGet WinSCP (и git), могу ли я добавить WinSCP.exe в игнорирование git?

С#/Visual Studio:

Часть установки пакета WinSCP NuGet включает добавление WinSCP.exe в корень моего проекта. (Хотя я не совсем доволен этим местом в моем проекте, это не мой вопрос). Если мне это не нужно, я бы предпочел не включать WinSCP.exe в свой репозиторий git — могу ли я добавить это в .ignore (поскольку это будет добавлено при восстановлении пакетов NuGet) или необходимо сохранить ?

(резюме - если я использую пакет WinSCP nuget, могу ли я безопасно указать git игнорировать WinSCP.exe?)


person jack    schedule 21.10.2015    source источник


Ответы (2)


К сожалению, пакет WinSCP NuGet, в настоящее время версия 5.7.5, имеет WinSCP.exe внутри каталога Content. Это означает, что NuGet добавит файл в проект.

Файлы, добавленные непосредственно в проект, не будут восстановлены NuGet. Восстановление NuGet восстановит файлы в каталоге пакетов, но не файлы в каталоге проекта.

Таким образом, вам нужно будет добавить файл в систему управления версиями или сделать какой-то шаг перед сборкой, который загружает пакет NuGet и извлекает файл.

Однако, если вы не используете WinSCP.exe, а просто используете WinSCP.dll, вы можете обойтись без WinSCP.exe в системе управления версиями, однако вам нужно будет удалить его из своего проекта, иначе вы получите ошибку сборки.

person Matt Ward    schedule 21.10.2015
comment
Я почти уверен, что проблема в том, что WinSCP.dll вызывает WinSCP.exe для выполнения своей работы, что и является проблемой. Я думаю, что теперь, когда он установлен через мою установку, я могу переместить .exe в другое место, все еще в моем проекте. Пока он все еще строится в том же месте, я думаю, все в порядке. - person jack; 21.10.2015
comment
Да, я не был уверен, как работает WinSCP.dll. В описании пакета NuGet указано, что он использует WinSCP.exe. - person Matt Ward; 21.10.2015

Пакет WinSCP 5.12 NuGet поддерживает PackageReference управление пакетами, что должно решить проблему.

PackageReference управление пакетами поддерживается Visual Studio 2017.

Выберите Инструменты > Диспетчер пакетов NuGet > Настройки диспетчера пакетов > Управление пакетами. В Формат управления пакетами по умолчанию выберите PackageReference. Или установите флажок Разрешить выбор формата при первой установке пакета, чтобы разрешить настройку для каждого проекта.

person Martin Prikryl    schedule 24.11.2017