使用WinSCP NuGet包(和git),我可以将WinSCP.exe添加到git ignore吗?

使用WinSCP NuGet包(和git),我可以将WinSCP.exe添加到git ignore吗?,git,nuget,visual-studio-2015,winscp,winscp-net,Git,Nuget,Visual Studio 2015,Winscp,Winscp Net,C#/Visual Studio: WinSCP NuGet包安装的一部分包括将WinSCP.exe添加到我的项目根目录中。(虽然我对项目中的位置不太满意,但这不是我的问题)。如果不需要,我不希望在git repo中包含WinSCP.exe-我可以将其添加到.ignore中(因为这将在还原NuGet软件包时添加),还是需要保留 (摘要-如果我使用的是WinSCP nuget软件包,我能安全地告诉git忽略WinSCP.exe吗?不幸的是,当前版本为5.7.5的WinSCP nuget软件包的内容

C#/Visual Studio:

WinSCP NuGet包安装的一部分包括将WinSCP.exe添加到我的项目根目录中。(虽然我对项目中的位置不太满意,但这不是我的问题)。如果不需要,我不希望在git repo中包含WinSCP.exe-我可以将其添加到.ignore中(因为这将在还原NuGet软件包时添加),还是需要保留


(摘要-如果我使用的是WinSCP nuget软件包,我能安全地告诉git忽略WinSCP.exe吗?

不幸的是,当前版本为5.7.5的WinSCP nuget软件包的内容目录中有WinSCP.exe。这意味着NuGet将把文件添加到项目中

NuGet不会还原直接添加到项目中的文件。NuGet restore将还原包目录中的文件,但不会还原项目目录中的文件

因此,您需要将该文件添加到版本控制中,或者进行某种预构建步骤来下载NuGet包并提取该文件

但是,如果您没有使用WinSCP.exe,并且您只是使用WinSCP.dll,那么您可以在源代码管理中不使用WinSCP.exe,但是您需要将其从项目中删除,否则将出现生成错误。

WinSCP 5.12 NuGet软件包,这将解决问题

由Visual Studio 2017支持


转到工具>NuGet软件包管理器>软件包管理器设置>软件包管理。在默认包管理格式中,选择PackageReference。或者在第一次安装软件包时选中“允许格式选择”,以允许每个项目设置。

我很确定问题在于WinSCP.dll正在调用WinSCP.exe来完成其工作,这就是问题所在。我想现在它是通过我的安装安装的,我可以将.exe移动到另一个位置,仍然在我的项目中。只要它仍然编译到同一个位置,我想没问题。是的,我不确定WinSCP.dll是如何工作的。NuGet包说明表明它正在使用WinSCP.exe。