C#/视觉工作室:
WinSCP NuGet 包安装的一部分包括将 WinSCP.exe 添加到我的项目根目录。(虽然我对项目中的那个位置并不完全满意,但这不是我的问题)。如果我不需要,我宁愿不必在我的 git repo 中包含 WinSCP.exe - 我可以将它添加到 .ignore 中(因为这将在 NuGet 包恢复时添加)或者是否有必要保留?
(总结 - 如果我使用 WinSCP nuget 包,我可以安全地告诉 git 忽略 WinSCP.exe 吗?)
C#/视觉工作室:
WinSCP NuGet 包安装的一部分包括将 WinSCP.exe 添加到我的项目根目录。(虽然我对项目中的那个位置并不完全满意,但这不是我的问题)。如果我不需要,我宁愿不必在我的 git repo 中包含 WinSCP.exe - 我可以将它添加到 .ignore 中(因为这将在 NuGet 包恢复时添加)或者是否有必要保留?
(总结 - 如果我使用 WinSCP nuget 包,我可以安全地告诉 git 忽略 WinSCP.exe 吗?)
不幸的是,当前版本为 5.7.5 的 WinSCP NuGet 包在 Content 目录中包含 WinSCP.exe。这意味着 NuGet 会将文件添加到项目中。
NuGet 不会还原直接添加到项目中的文件。NuGet 还原将还原包目录中的文件,但不会还原项目目录中的文件。
因此,您需要将文件添加到版本控制或进行某种预构建步骤来下载 NuGet 包并提取文件。
但是,如果您不使用 WinSCP.exe,而只是使用 WinSCP.dll,那么您可以在源代码控制中不使用 WinSCP.exe 的情况下逃脱,但是您需要将其从项目中删除,否则您将收到构建错误。
WinSCP 5.12 NuGet 包支持PackageReference
包管理,应该可以解决问题。
PackageReference
Visual Studio 2017 支持包管理。
转到工具 > NuGet 包管理器 > 包管理器设置 > 包管理。在默认包管理格式中选择PackageReference。或者选中Allow format selection on first package install以允许按项目设置。