Я хочу интегрировать сборку 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 из моего каталога сборки и как мне это предотвратить?