Исполняемый файл (WinSCP.exe) удаляется из каталога bin всякий раз, когда я запускаю свой проект Visual Studio.

Я хочу интегрировать сборку WinSCP .NET в свой исполняемый проект Visual Studio 2015 для операций SFTP. Я установил сборку с помощью связанного пакета NuGet, который включает WinSCPnet.dll и WinSCP.exe.

Когда я создаю свое решение в конфигурации выпуска или отладки, эти файлы, как и ожидалось, копируются в соответствующий каталог в папке bin проекта. Но как только я нажимаю кнопку «Пуск», чтобы запустить запускаемый проект, WinSCP.exe просто исчезает, и в конечном итоге создается исключение, подтверждающее, что WinSCP.exe не существует в ожидаемом каталоге.

Некоторые потенциальные решения, которые я обнаружил в Интернете, предполагают, что чрезмерно усердная антивирусная программа может быть ответственна за удаление файла, но проблема сохраняется, несмотря на исключения, которые я ввел в свой AV, и, используя procmon для выполнения некоторых операций, я подтвердил, что msbuild. exe является виновником удаления WinSCP.exe, и я не знаю почему.

Если я запускаю свое решение в автономном режиме, этой проблемы не возникает. Это происходит только тогда, когда я пытаюсь запустить Visual Studio, поэтому я не могу использовать отладчик. Я могу обойти проблему, запустив графический интерфейс WinSCP.exe непосредственно из каталога bin, прежде чем я запускаю свое решение, чтобы msbuild.exe не смог удалить его (поскольку он используется), но это не является работоспособным долгосрочным решение.

Почему msbuild.exe удаляет WinSCP.exe из моего каталога сборки и как мне это предотвратить?


person user2146445    schedule 07.08.2018    source источник
comment
Я не могу воспроизвести проблему с VS15 и простым консольным приложением с пакетом WinSCP NuGet. - Если вы начнете новый консольный проект, это все равно произойдет? - Вы тестировали на другой машине?   -  person Martin Prikryl    schedule 08.08.2018
comment
Да, мне тоже не удалось воспроизвести эту проблему, в вашем проекте должны быть какие-то особые операции или настройки. Не могли бы вы воспроизвести эту проблему с помощью нескольких шагов или простого примера?   -  person Leo Liu-MSFT    schedule 08.08.2018
comment
Поскольку у нас нет доступа к вашему собственному коду, я не понимаю, чем мы можем вам сильно помочь. Я определенно никогда не видел вашей проблемы ни в тех местах, где работал, ни в других вопросах в Интернете.   -  person C Johnson    schedule 08.08.2018
comment
Спасибо вам, ребята. Я попробовал это с новым проектом консоли и совершенно новым проектом WPF (решение проблемы тоже WPF). Проблема не возникает для этих пустых файлов, значит, это должны быть какие-то настройки проекта или решения? Мне придется поэкспериментировать с настройками или, возможно, с удалением некоторых проектов из моего решения. Однако мне не о чем рассказывать, поэтому, если у кого-то есть теория о том, что может возможно вызвать это, пожалуйста, выбросьте ее! Я ценю вашу помощь и обновлю этот пост, если я найду ответ.   -  person user2146445    schedule 08.08.2018


Ответы (1)


У меня все заработало. По какой-то причине пакет NuGet WinSCP-net не устанавливался должным образом. Я заметил, что WinSCPnet отсутствует в списке ссылок в VS, но возможно, что что-то еще не удалось во время установки, и это заставляло msbuild хотеть убить исполняемый файл. Я переустановил пакет NuGet WinSCP-net (я был уверен, что несколько раз), и как только я смог увидеть WinSCPnet в списке ссылок, эта проблема перестала возникать.

person user2146445    schedule 09.08.2018