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

时间:2015-10-21 16:01:01

标签: 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吗?)

2 个答案:

答案 0 :(得分:3)

不幸的是,WinSCP NuGet包(目前版本为5.7.5)在Content目录中有WinSCP.exe。这意味着NuGet会将文件添加到项目中。

NuGet将无法恢复直接添加到项目中的文件。 NuGet恢复将恢复packages目录中的文件,但不恢复项目目录中的文件。

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

但是,如果您没有使用WinSCP.exe,并且您只是使用WinSCP.dll,那么您可以在源代码控制中没有WinSCP.exe的情况下离开,但是您需要将其从项目中删除,否则您将获得构建错误。

答案 1 :(得分:0)

WinSCP 5.12 NuGet包supports PackageReference package management,它可以解决问题。

Visual Studio 2017支持

PackageReference package management

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