我无法通过FTP发布我的网站 - 无法打开被动模式

问题描述:

从历史上看,我总是通过FTP上传我的网站,因为我的服务器没有首页扩展名,也不会。我无法通过FTP发布我的网站 - 无法打开被动模式

使用最新版本的Visual Studio 2012(11.0.51106.01 Update 1)(尽管我认为此问题适用于2012年全年),但我无法发布我的网站!

的错误消息是

2>无法 '文件' 添加到网站。 FTP被动模式是不是 提供

我也会指出我的连接验证,所以我不认为该错误信息是什么,但清楚的,有意义的!

所以,我有3个问题。

  1. 这是我做错了什么或错误与Visual Studio 2012?
  2. 我应该试图通过被动模式来做到这一点,还是应该更新我的Web服务器以启用“主动模式”?
  3. FTP仍然是一种可接受的方法,或者我应该调查Web Deploy选项吗?

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

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

  3. 保存文件并重新发布。

+0

在我的pubxml文件中设置 False FtpPassiveMode>失败。我得到的是: 警告命名空间'http://schemas.microsoft.com/developer/msbuild/2003'中的元素'PropertyGroup'在命名空间'http://模式中具有无效的子元素'WebPublishMethod' .microsoft.com /开发/的MSBuild/2003' 。预期可能的元素列表:'Property,AllowUnsafeBlocks,AppConfigForCompiler,ApplicationIcon,ApplicationRevision,ApplicationVersion,AppDesignerFolder,AspNetConfiguration,AssemblyKeyContainerName,...(还有更多) – joelc 2013-06-14 03:34:01

+0

技术上 - 警告不是错误,并不重要,可能没有相关原因。当你做这件事时,发布会不会失败? – Anri 2013-06-14 03:38:07

+0

它失败。 2> ------发布开始:项目:,配置:dev任何CPU ------ 2>连接到ftp:// ... 2>将所有文件复制到下面的临时位置包/发布: 2> obj \ dev \ Package \ PackageTmp。 2>删除现有文件... 2>尝试枚举文件夹“'的内容时发生错误。无法连接到活动的FTP。请尝试使用被动FTP。 2> ==========构建:1成功,0失败,0最新,0跳过========== ======== ==发布:0成功,1失败,0跳过========== – joelc 2013-06-14 05:44:38

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

作为一个实际的修补程序,它取决于服务器以启用此功能。在我的情况下,它证明是一个防火墙问题(赋予FileZilla Server的传入权限),并且不在FileZilla服务器中使用自定义端口范围(在被动状态下)!这表明这是一个港口问题!

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

+0

Lifesaver!感谢您的提示! – kalenwatermeyer 2016-03-12 11:20:09

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

看看这部电影。它在最后。 youtube film

这对我有用。

你也可以做到这一点(我居然也得到了同样的错误你):

1 - Build > Publish 'project'

2 - 取消选中Passive Mode

enter image description here

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

  1. 确保被动模式被选择
  2. 确保用来配置IIS应用FTP防火墙数据信道端口范围支持部分(例如5000-6000)
  3. 确保端口范围5000-6000在防火墙上打开(允许端口范围5000-6000上的入站连接)
  4. net stop ftpsvc
  5. net start ftpsvc