3

C#/视觉工作室:

WinSCP NuGet 包安装的一部分包括将 WinSCP.exe 添加到我的项目根目录。(虽然我对项目中的那个位置并不完全满意,但这不是我的问题)。如果我不需要,我宁愿不必在我的 git repo 中包含 WinSCP.exe - 我可以将它添加到 .ignore 中(因为这将在 NuGet 包恢复时添加)或者是否有必要保留?

(总结 - 如果我使用 WinSCP nuget 包,我可以安全地告诉 git 忽略 WinSCP.exe 吗?)

4

2 回答 2

3

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

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

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

但是,如果您不使用 WinSCP.exe,而只是使用 WinSCP.dll,那么您可以在源代码控制中不使用 WinSCP.exe 的情况下逃脱,但是您需要将其从项目中删除,否则您将收到构建错误。

于 2015-10-21T19:18:36.760 回答
0

WinSCP 5.12 NuGet 包支持PackageReference包管理,应该可以解决问题。

PackageReferenceVisual Studio 2017 支持包管理。

转到工具 > NuGet 包管理器 > 包管理器设置 > 包管理。在默认包管理格式中选择PackageReference。或者选中Allow format selection on first package install以允许按项目设置。

于 2017-11-24T08:56:30.543 回答