5

从历史上看,我总是通过 FTP 上传我的网站,因为我的服务器没有首页扩展,也不会。

使用最新版本的 Visual Studio 2012(11.0.51106.01 更新 1)(虽然我认为这个问题适用于 2012 年的全部),我无法发布我的网站!

错误信息是

2>无法将“文件”添加到网站。FTP 被动模式不可用

我还要指出,我的连接是有效的,所以我不认为错误消息是清晰而有意义的!

所以,我有3个问题。

  1. 这是我做错了什么还是 Visual Studio 2012 有问题?
  2. 我应该尝试通过被动模式执行此操作,还是应该更新我的 Web 服务器以启用“主动模式”?
  3. FTP 仍然是一种可接受的方法,还是我应该研究 Web 部署选项?
4

6 回答 6

13
  1. 打开您的发布配置文件Properties\PublishProfiles\your_profile_name.pubxml

  2. 添加<FtpPassiveMode>False</FtpPassiveMode><PropertyGroup>

  3. 保存文件并再次发布。

于 2013-04-18T17:11:08.253 回答
4

作为一种解决方法,将站点发布到文件系统(即,将其保存在本地),然后使用另一个 FTP 客户端传输它。这一点都不好,但是,如果你绝望并且没有选择,那么它可能是一个解决方案,无论多么暂时。

作为一个实际的修复,它取决于服务器来启用它。在我的情况下,它原来是一个防火墙问题(向 FileZilla 服务器授予传入权限),而不是在 FileZilla 服务器中使用自定义端口范围(在被动下)!这表明这是一个端口问题!

但是,这并不能解释为什么您可以或不能在 VS 2012 中关闭/打开被动模式,但在早期版本中可以。

于 2013-03-19T09:32:20.953 回答
3

你也可以这样做(我得到了和你一样的错误):

1 - Build > Publish 'project'

2 - 取消选中Passive Mode.

在此处输入图像描述

于 2015-07-29T18:36:15.640 回答
0

它应该在 5 个简单的步骤 (IIS7.5) 后工作:

  1. 确保选择被动模式
  2. 确保在 IIS 应用程序 FTP 防火墙支持部分配置数据通道端口范围(例如 5000-6000)
  3. 确保在防火墙上打开端口范围 5000-6000(允许端口范围 5000-6000 上的入站连接)
  4. 网络停止 ftpsvc
  5. 网络启动 ftpsvc
于 2016-11-04T11:54:23.793 回答
0

就我而言,在我检查日志文件后,它表明部署一直超时。我重新启动计算机,该错误消息消失了。

于 2019-11-08T00:38:50.000 回答
-1

如果您有权访问服务器。您必须将 svchost.exe 添加到 Windows 防火墙中的“允许的程序”中。

看看这部电影。它在最后。 优酷电影

这对我有用。

于 2013-05-30T08:28:19.943 回答