Domanda

Historically I've always uploaded my website via FTP since my server does not have front page extensions and nor will it.

Using the latest release of Visual Studio 2012 (11.0.51106.01 Update 1) (although I think this issue is for all of 2012), I cannot publish my website!

The error message is

2>Unable to add 'file' to the Web site. FTP Passive mode is not available

I will also point out that my connection validates so I don't think the error message is anything but clear and meaningful!

So, I have 3 questions.

  1. Is this something I'm doing wrong or a fault with Visual Studio 2012?
  2. Should I be trying to do this via passive mode or should I be updating my web server to enable "active mode"?
  3. Is FTP still an acceptable method or should I be investigating the Web Deploy option?
È stato utile?

Soluzione

  1. Open your publish profile Properties\PublishProfiles\your_profile_name.pubxml

  2. Add <FtpPassiveMode>False</FtpPassiveMode> to <PropertyGroup>

  3. Save file and publish again.

Altri suggerimenti

As a workaround, publish the site to a filesystem (ie, save it locally), and then use another FTP client to transfer it. It's not great at all, but, if you're desperate and out of options then it may be a solution, however temporary.

As an actual fix, it's down to the server to enable this. In my case, it turned out to be a firewall problem (gave incoming permissions to FileZilla Server) and not using a custom port range in FileZilla server (under passive)! This suggests it was a port issue!

However, this doesn't explain why you can or can't turn off/on passive mode in VS 2012 but could in earlier releases.

You can also do this (I was getting the same error as yours):

1 - Build > Publish 'project'.

2 - Uncheck the Passive Mode.

enter image description here

It should work after 5 simple steps (IIS7.5):

  1. Make sure passive mode is selected
  2. Make sure to configure data channel port range in IIS application FTP Firewall Support section (e.g. 5000-6000)
  3. Make sure that port range 5000-6000 is open on the firewall (Allow inbound connections on port range 5000-6000)
  4. net stop ftpsvc
  5. net start ftpsvc

In my case, after I checked the log file, it suggested that the deployment kept timing out. I restarted my computer and that error message is gone.

If you have acces to the server. You have to add the svchost.exe to the "Allowed Programs" in Windows Firewall.

Look at this film. Its at the end. youtube film

This worked for me.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top