[f-spot] Clean all exporter plugins.



commit c2938fbeb73daa31fa3ff49bf6ef4179093cf8f2
Author: Ruben Vermeersch <ruben savanne be>
Date:   Mon Aug 9 16:58:11 2010 +0200

    Clean all exporter plugins.

 F-Spot.sln                                         |  130 +++++-
 configure.ac                                       |   48 +-
 lib/Makefile.am                                    |    5 +-
 .../FlickrExport => lib/Mono.Google}/.gitignore    |    0
 .../Mono.Google}/AssemblyInfo.cs                   |    0
 lib/Mono.Google/Makefile.am                        |   31 ++
 .../Mono.Google/Mono.Google.Picasa}/AlbumAccess.cs |    0
 .../Mono.Google.Picasa}/CreateAlbumException.cs    |    0
 .../Mono.Google.Picasa}/DeleteAlbumException.cs    |    0
 .../Mono.Google/Mono.Google.Picasa}/GDataApi.cs    |    0
 .../Mono.Google/Mono.Google.Picasa}/PicasaAlbum.cs |    0
 .../Mono.Google.Picasa}/PicasaAlbumCollection.cs   |    0
 .../Mono.Google.Picasa}/PicasaPicture.cs           |    4 +-
 .../Mono.Google.Picasa}/PicasaPictureCollection.cs |    0
 .../Mono.Google/Mono.Google.Picasa}/PicasaWeb.cs   |    0
 .../Mono.Google.Picasa}/UploadPictureException.cs  |    0
 .../Mono.Google.Picasa}/UploadProgressEventArgs.cs |    0
 .../UploadProgressEventHandler.cs                  |    0
 .../Mono.Google/Mono.Google.Picasa}/XmlUtil.cs     |    0
 lib/Mono.Google/Mono.Google.csproj                 |   84 ++++
 .../Mono.Google/Mono.Google}/Authentication.cs     |    0
 .../Mono.Google/Mono.Google}/CaptchaException.cs   |    0
 .../Mono.Google/Mono.Google}/GoogleConnection.cs   |    0
 .../Mono.Google/Mono.Google}/GoogleService.cs      |    0
 .../Mono.Google/Mono.Google}/MultipartRequest.cs   |    0
 .../Mono.Google}/NoCheckCertificatePolicy.cs       |    0
 .../Tabblo => lib/Mono.Tabblo}/AssemblyInfo.cs     |    0
 lib/Mono.Tabblo/Makefile.am                        |   21 +
 lib/Mono.Tabblo/Mono.Tabblo.csproj                 |   73 +++
 .../Mono.Tabblo/Mono.Tabblo}/Connection.cs         |    0
 .../Mono.Tabblo/Mono.Tabblo}/IPreferences.cs       |    0
 .../Mono.Tabblo/Mono.Tabblo}/MultipartRequest.cs   |    0
 .../Mono.Tabblo/Mono.Tabblo}/Picture.cs            |    0
 .../Mono.Tabblo/Mono.Tabblo}/TabbloException.cs    |    0
 .../Mono.Tabblo}/TotalUploadProgress.cs            |    0
 .../Mono.Tabblo}/UploadProgressEventArgs.cs        |    0
 .../Mono.Tabblo}/UploadProgressEventHandler.cs     |    0
 .../Mono.Tabblo/Mono.Tabblo}/Uploader.cs           |    0
 .../SmugMugExport => lib}/SmugMugNet/.gitignore    |    0
 lib/SmugMugNet/Makefile.am                         |   18 +
 lib/SmugMugNet/SmugMugNet.csproj                   |   72 +++
 lib/SmugMugNet/SmugMugNet/Album.cs                 |   35 ++
 lib/SmugMugNet/SmugMugNet/Category.cs              |   35 ++
 lib/SmugMugNet/SmugMugNet/Credentials.cs           |   39 ++
 .../SmugMugNet/NoCheckCertificatePolicy.cs         |    0
 lib/SmugMugNet/SmugMugNet/SmugMugApi.cs            |  158 +++++++
 lib/SmugMugNet/SmugMugNet/SmugMugException.cs      |   25 +
 lib/SmugMugNet/SmugMugNet/SmugMugProxy.cs          |  234 ++++++++++
 .../SmugMugNet/SmugMugUploadException.cs           |   20 +
 src/Extensions/Exporters/CDExport/CDExport.cs      |  259 -----------
 .../FSpot.Exporters.CDExport.csproj                |   94 ++++
 .../FSpot.Exporters.CDExport/CDExport.cs           |  165 +++++++
 .../FSpot.Exporters.CDExport/CDExportDialog.cs     |  109 +++++
 .../Makefile.am                                    |   10 +-
 .../Resources}/CDExport.addin.xml                  |    2 +-
 .../Resources}/CDExport.ui                         |    1 -
 .../.gitignore                                     |    0
 .../FSpot.Exporters.FacebookExport.csproj          |  132 ++++++
 .../FacebookExport.cs                              |    2 +-
 .../FacebookExportDialog.cs                        |    2 +-
 .../FacebookTagPopup.cs                            |    2 +-
 .../FindNullableClashes.cs                         |    0
 .../Makefile.am                                    |   16 +-
 .../Mono.Facebook/Album.cs                         |    0
 .../Mono.Facebook/AssemblyInfo.cs                  |    0
 .../Mono.Facebook/Error.cs                         |    0
 .../Mono.Facebook/Event.cs                         |    0
 .../Mono.Facebook/FacebookException.cs             |    0
 .../Mono.Facebook/FacebookParam.cs                 |    0
 .../Mono.Facebook/FacebookSession.cs               |    0
 .../Mono.Facebook/Friend.cs                        |    0
 .../Mono.Facebook/FriendInfo.cs                    |    0
 .../Mono.Facebook/Group.cs                         |    0
 .../Mono.Facebook/Location.cs                      |    0
 .../Mono.Facebook/Notification.cs                  |    0
 .../Mono.Facebook/PeopleList.cs                    |    0
 .../Mono.Facebook/Photo.cs                         |    0
 .../Mono.Facebook/Responses.cs                     |    0
 .../Mono.Facebook/SessionInfo.cs                   |    0
 .../Mono.Facebook/SessionWrapper.cs                |    0
 .../Mono.Facebook/Tag.cs                           |    0
 .../Mono.Facebook/User.cs                          |    0
 .../Mono.Facebook/Util.cs                          |    0
 .../Mono.Facebook/facebook.cs                      |    0
 .../Mono.Facebook/facebook.xsd                     |    0
 .../Resources}/FacebookExport.addin.xml            |    2 +-
 .../Resources}/FacebookExport.ui                   |    0
 .../.gitignore                                     |    0
 .../FSpot.Exporters.FlickrExport.csproj            |   99 ++++
 .../FSpot.Exporters.FlickrExport}/FlickrExport.cs  |    2 +-
 .../FSpot.Exporters.FlickrExport}/FlickrRemote.cs  |    2 +
 .../FSpot.Exporters.FlickrExport/Makefile.am       |   14 +
 .../Resources}/FlickrExport.addin.xml              |    6 +-
 .../Resources}/FlickrExport.glade                  |    0
 .../.gitignore                                     |    0
 .../FSpot.Exporters.FolderExport.csproj            |  111 +++++
 .../FSpot.Exporters.FolderExport}/FolderExport.cs  |    2 +-
 .../FSpot.Exporters.FolderExport/Makefile.am       |   15 +
 .../Resources}/FolderExport.addin.xml              |    2 +-
 .../Resources}/FolderExport.glade                  |    0
 .../Resources}/f-spot-simple-white.css             |    0
 .../Resources}/f-spot-simple.css                   |    0
 .../Resources}/f-spot.js                           |    0
 .../.gitignore                                     |    0
 .../FSpot.Exporters.GalleryExport.csproj           |  105 +++++
 .../FSpot.Exporters.GalleryExport}/FormClient.cs   |    2 +-
 .../GalleryExport.cs                               |    5 +-
 .../GalleryRemote.cs                               |    2 +-
 .../FSpot.Exporters.GalleryExport/Makefile.am      |   15 +
 .../Resources}/GalleryExport.addin.xml             |    2 +-
 .../Resources}/GalleryExport.glade                 |    0
 .../.gitignore                                     |    0
 .../FSpot.Exporters.PicasaWebExport.csproj         |   99 ++++
 .../PicasaWebExport.cs                             |    2 +-
 .../Makefile.am                                    |   11 +-
 .../Resources}/PicasaWebExport.addin.xml           |    2 +-
 .../Resources}/PicasaWebExport.glade               |    0
 .../.gitignore                                     |    0
 .../FSpot.Exporters.SmugMugExport.csproj           |   95 ++++
 .../SmugMugExport.cs                               |    2 +-
 .../Makefile.am                                    |   11 +-
 .../Resources}/SmugMugExport.addin.xml             |    2 +-
 .../Resources}/SmugMugExport.glade                 |    0
 .../.gitignore                                     |    0
 .../AssemblyInfo.cs                                |    0
 .../FSpot.Exporters.TabbloExport.csproj            |  112 +++++
 .../ApplicationCentricCertificatePolicy.cs         |    2 +-
 .../BlindTrustCertificatePolicy.cs                 |    2 +-
 .../FSpotTraceListener.cs                          |    2 +-
 .../FSpotUploadProgress.cs                         |    2 +-
 .../FSpot.Exporters.TabbloExport}/TabbloExport.cs  |    2 +-
 .../TabbloExportModel.cs                           |    2 +-
 .../TabbloExportView.cs                            |    2 +-
 .../UserDecisionCertificatePolicy.cs               |    4 +-
 .../FSpot.Exporters.TabbloExport/Makefile.am       |   23 +
 .../Resources}/TabbloExport.addin.xml              |    2 +-
 .../Resources}/ui/TabbloExport.ui                  |    0
 .../Resources}/ui/TrustError.ui                    |    0
 .../.gitignore                                     |    0
 .../FSpot.Exporters.ZipExport.csproj               |   89 ++++
 .../FSpot.Exporters.ZipExport}/ZipExport.cs        |    2 +-
 .../Makefile.am                                    |    8 +-
 .../Resources}/ZipExport.addin.xml                 |    2 +-
 .../Resources}/ZipExport.glade                     |    0
 src/Extensions/Exporters/FlickrExport/Makefile.am  |   14 -
 src/Extensions/Exporters/FolderExport/Makefile.am  |   15 -
 src/Extensions/Exporters/GalleryExport/Makefile.am |   15 -
 src/Extensions/Exporters/Makefile.am               |   18 +-
 .../PicasaWebExport/google-sharp/Makefile.am       |   31 --
 .../Exporters/SmugMugExport/SmugMugNet/Makefile.am |   12 -
 .../SmugMugExport/SmugMugNet/SmugMugApi.cs         |  475 --------------------
 src/Extensions/Exporters/TabbloExport/Makefile.am  |   26 --
 .../Exporters/TabbloExport/Tabblo/Makefile.am      |   21 -
 153 files changed, 2341 insertions(+), 978 deletions(-)
---
diff --git a/F-Spot.sln b/F-Spot.sln
index 8b6d07d..6480a81 100644
--- a/F-Spot.sln
+++ b/F-Spot.sln
@@ -31,6 +31,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagLib", "lib\TagLib\TagLib
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hyena.Gui", "lib\Hyena\Hyena.Gui\Hyena.Gui.csproj", "{C856EFD8-E812-4E61-8B76-E3583D94C233}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Google", "lib\Mono.Google\Mono.Google.csproj", "{40C7D4EA-FB93-49FE-B18F-700A28C3E670}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SmugMugNet", "lib\SmugMugNet\SmugMugNet.csproj", "{FFC3D9B1-B19A-44D8-8AA2-96DDE911320E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Tabblo", "lib\Mono.Tabblo\Mono.Tabblo.csproj", "{B5CDF05C-278A-40AA-A587-B27A00BD9135}"
+EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Clients", "Clients", "{9D75644A-DEF1-4362-8553-4B5F09783DC9}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MainApp", "src\Clients\MainApp\MainApp.csproj", "{27EC05FB-0223-4B26-8157-E49AF81D0007}"
@@ -53,6 +59,28 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Transitions", "Transitions"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSpot.Transitions.CoverTransition", "src\Extensions\Transitions\FSpot.Transitions.CoverTransition\FSpot.Transitions.CoverTransition.csproj", "{7203A6ED-DA2E-4D56-B1AF-4C296A1C39D5}"
 EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{78EC5D8B-299B-4724-844D-6F3A8E8D1536}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Exporters", "Exporters", "{C9302C4A-B571-4F8E-8FFA-7B4C7DF8B3E3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSpot.Exporters.CDExport", "src\Extensions\Exporters\FSpot.Exporters.CDExport\FSpot.Exporters.CDExport.csproj", "{3CBAA4AE-AC83-4043-BBB5-6EA7962EC983}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSpot.Exporters.FacebookExport", "src\Extensions\Exporters\FSpot.Exporters.FacebookExport\FSpot.Exporters.FacebookExport.csproj", "{7004A4E6-12A5-46F1-BB1F-578FA9B63493}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSpot.Exporters.FlickrExport", "src\Extensions\Exporters\FSpot.Exporters.FlickrExport\FSpot.Exporters.FlickrExport.csproj", "{13D4FF63-5D83-42D7-AE4C-56BB512D5D89}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSpot.Exporters.FolderExport", "src\Extensions\Exporters\FSpot.Exporters.FolderExport\FSpot.Exporters.FolderExport.csproj", "{7FBEAF56-65E5-4C07-B346-C6A0BC87B368}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSpot.Exporters.GalleryExport", "src\Extensions\Exporters\FSpot.Exporters.GalleryExport\FSpot.Exporters.GalleryExport.csproj", "{E55F73E0-576A-4FE2-9108-E76960820AA3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSpot.Exporters.PicasaWebExport", "src\Extensions\Exporters\FSpot.Exporters.PicasaWebExport\FSpot.Exporters.PicasaWebExport.csproj", "{0735C3A2-17C1-4C8B-9653-3854AFD64D6D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSpot.Exporters.SmugMugExport", "src\Extensions\Exporters\FSpot.Exporters.SmugMugExport\FSpot.Exporters.SmugMugExport.csproj", "{BE981FC8-9B41-4336-815C-ECC365AE05D4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSpot.Exporters.ZipExport", "src\Extensions\Exporters\FSpot.Exporters.ZipExport\FSpot.Exporters.ZipExport.csproj", "{4C9355A7-1797-4708-A1F2-FBCDB782D04D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSpot.Exporters.TabbloExport", "src\Extensions\Exporters\FSpot.Exporters.TabbloExport\FSpot.Exporters.TabbloExport.csproj", "{414E9813-E0A8-4BD4-8694-485F528518F5}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -66,6 +94,18 @@ Global
 		{05A7FEC4-974A-40EB-AFB8-14E523EEEFFB}.Release|Any CPU.Build.0 = Release|Any CPU
 		{05A7FEC4-974A-40EB-AFB8-14E523EEEFFB}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
 		{05A7FEC4-974A-40EB-AFB8-14E523EEEFFB}.Submodule|Any CPU.Build.0 = Debug|Any CPU
+		{0735C3A2-17C1-4C8B-9653-3854AFD64D6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0735C3A2-17C1-4C8B-9653-3854AFD64D6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0735C3A2-17C1-4C8B-9653-3854AFD64D6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0735C3A2-17C1-4C8B-9653-3854AFD64D6D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0735C3A2-17C1-4C8B-9653-3854AFD64D6D}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
+		{0735C3A2-17C1-4C8B-9653-3854AFD64D6D}.Submodule|Any CPU.Build.0 = Debug|Any CPU
+		{13D4FF63-5D83-42D7-AE4C-56BB512D5D89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{13D4FF63-5D83-42D7-AE4C-56BB512D5D89}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{13D4FF63-5D83-42D7-AE4C-56BB512D5D89}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{13D4FF63-5D83-42D7-AE4C-56BB512D5D89}.Release|Any CPU.Build.0 = Release|Any CPU
+		{13D4FF63-5D83-42D7-AE4C-56BB512D5D89}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
+		{13D4FF63-5D83-42D7-AE4C-56BB512D5D89}.Submodule|Any CPU.Build.0 = Debug|Any CPU
 		{1F610540-D2ED-4F58-87CE-9092A43DBD4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{1F610540-D2ED-4F58-87CE-9092A43DBD4A}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{1F610540-D2ED-4F58-87CE-9092A43DBD4A}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -84,12 +124,36 @@ Global
 		{2D3B12F7-ABF3-4784-92FE-78A1C775E157}.Release|Any CPU.Build.0 = Release|Any CPU
 		{2D3B12F7-ABF3-4784-92FE-78A1C775E157}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
 		{2D3B12F7-ABF3-4784-92FE-78A1C775E157}.Submodule|Any CPU.Build.0 = Debug|Any CPU
+		{3CBAA4AE-AC83-4043-BBB5-6EA7962EC983}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3CBAA4AE-AC83-4043-BBB5-6EA7962EC983}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3CBAA4AE-AC83-4043-BBB5-6EA7962EC983}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3CBAA4AE-AC83-4043-BBB5-6EA7962EC983}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3CBAA4AE-AC83-4043-BBB5-6EA7962EC983}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
+		{3CBAA4AE-AC83-4043-BBB5-6EA7962EC983}.Submodule|Any CPU.Build.0 = Debug|Any CPU
+		{40C7D4EA-FB93-49FE-B18F-700A28C3E670}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{40C7D4EA-FB93-49FE-B18F-700A28C3E670}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{40C7D4EA-FB93-49FE-B18F-700A28C3E670}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{40C7D4EA-FB93-49FE-B18F-700A28C3E670}.Release|Any CPU.Build.0 = Release|Any CPU
+		{40C7D4EA-FB93-49FE-B18F-700A28C3E670}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
+		{40C7D4EA-FB93-49FE-B18F-700A28C3E670}.Submodule|Any CPU.Build.0 = Debug|Any CPU
+		{414E9813-E0A8-4BD4-8694-485F528518F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{414E9813-E0A8-4BD4-8694-485F528518F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{414E9813-E0A8-4BD4-8694-485F528518F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{414E9813-E0A8-4BD4-8694-485F528518F5}.Release|Any CPU.Build.0 = Release|Any CPU
+		{414E9813-E0A8-4BD4-8694-485F528518F5}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
+		{414E9813-E0A8-4BD4-8694-485F528518F5}.Submodule|Any CPU.Build.0 = Debug|Any CPU
 		{46049AF4-97E0-4EE5-A5CB-A9D0C9026B25}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{46049AF4-97E0-4EE5-A5CB-A9D0C9026B25}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{46049AF4-97E0-4EE5-A5CB-A9D0C9026B25}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{46049AF4-97E0-4EE5-A5CB-A9D0C9026B25}.Release|Any CPU.Build.0 = Release|Any CPU
 		{46049AF4-97E0-4EE5-A5CB-A9D0C9026B25}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
 		{46049AF4-97E0-4EE5-A5CB-A9D0C9026B25}.Submodule|Any CPU.Build.0 = Debug|Any CPU
+		{4C9355A7-1797-4708-A1F2-FBCDB782D04D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4C9355A7-1797-4708-A1F2-FBCDB782D04D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4C9355A7-1797-4708-A1F2-FBCDB782D04D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4C9355A7-1797-4708-A1F2-FBCDB782D04D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{4C9355A7-1797-4708-A1F2-FBCDB782D04D}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
+		{4C9355A7-1797-4708-A1F2-FBCDB782D04D}.Submodule|Any CPU.Build.0 = Debug|Any CPU
 		{53DAC12F-0421-4F5E-A746-17A701D2BDDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{53DAC12F-0421-4F5E-A746-17A701D2BDDA}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{53DAC12F-0421-4F5E-A746-17A701D2BDDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -104,6 +168,12 @@ Global
 		{61DAD6B1-E866-485B-819E-A9E86B793F5E}.Release|Any CPU.Build.0 = Release|Any CPU
 		{61DAD6B1-E866-485B-819E-A9E86B793F5E}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
 		{61DAD6B1-E866-485B-819E-A9E86B793F5E}.Submodule|Any CPU.Build.0 = Debug|Any CPU
+		{7004A4E6-12A5-46F1-BB1F-578FA9B63493}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{7004A4E6-12A5-46F1-BB1F-578FA9B63493}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{7004A4E6-12A5-46F1-BB1F-578FA9B63493}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{7004A4E6-12A5-46F1-BB1F-578FA9B63493}.Release|Any CPU.Build.0 = Release|Any CPU
+		{7004A4E6-12A5-46F1-BB1F-578FA9B63493}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
+		{7004A4E6-12A5-46F1-BB1F-578FA9B63493}.Submodule|Any CPU.Build.0 = Debug|Any CPU
 		{7011154B-87B0-4C54-98DD-B5FF1E60B75F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{7011154B-87B0-4C54-98DD-B5FF1E60B75F}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{7011154B-87B0-4C54-98DD-B5FF1E60B75F}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -122,6 +192,12 @@ Global
 		{7281334F-0B1D-4383-9EA2-6740D56ADCDE}.Release|Any CPU.Build.0 = Release|Any CPU
 		{7281334F-0B1D-4383-9EA2-6740D56ADCDE}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
 		{7281334F-0B1D-4383-9EA2-6740D56ADCDE}.Submodule|Any CPU.Build.0 = Debug|Any CPU
+		{7FBEAF56-65E5-4C07-B346-C6A0BC87B368}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{7FBEAF56-65E5-4C07-B346-C6A0BC87B368}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{7FBEAF56-65E5-4C07-B346-C6A0BC87B368}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{7FBEAF56-65E5-4C07-B346-C6A0BC87B368}.Release|Any CPU.Build.0 = Release|Any CPU
+		{7FBEAF56-65E5-4C07-B346-C6A0BC87B368}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
+		{7FBEAF56-65E5-4C07-B346-C6A0BC87B368}.Submodule|Any CPU.Build.0 = Debug|Any CPU
 		{8EB3933F-A089-43A3-B662-617DC71A2173}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{8EB3933F-A089-43A3-B662-617DC71A2173}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{8EB3933F-A089-43A3-B662-617DC71A2173}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -134,14 +210,14 @@ Global
 		{903D6440-A981-4B29-8825-7EB820684925}.Release|Any CPU.Build.0 = Release|Any CPU
 		{903D6440-A981-4B29-8825-7EB820684925}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
 		{903D6440-A981-4B29-8825-7EB820684925}.Submodule|Any CPU.Build.0 = Debug|Any CPU
-		{95374549-9553-4C1E-9D89-667755F90E12}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{95374549-9553-4C1E-9D89-667755F90E12}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{95374549-9553-4C1E-9D89-667755F90E12}.Debug|Any CPU.ActiveCfg = Submodule|Any CPU
+		{95374549-9553-4C1E-9D89-667755F90E12}.Debug|Any CPU.Build.0 = Submodule|Any CPU
 		{95374549-9553-4C1E-9D89-667755F90E12}.Release|Any CPU.ActiveCfg = Debug|Any CPU
 		{95374549-9553-4C1E-9D89-667755F90E12}.Release|Any CPU.Build.0 = Debug|Any CPU
 		{95374549-9553-4C1E-9D89-667755F90E12}.Submodule|Any CPU.ActiveCfg = Submodule|Any CPU
 		{95374549-9553-4C1E-9D89-667755F90E12}.Submodule|Any CPU.Build.0 = Submodule|Any CPU
-		{95374549-9553-4C1E-9D89-667755F90E13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{95374549-9553-4C1E-9D89-667755F90E13}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{95374549-9553-4C1E-9D89-667755F90E13}.Debug|Any CPU.ActiveCfg = Submodule|Any CPU
+		{95374549-9553-4C1E-9D89-667755F90E13}.Debug|Any CPU.Build.0 = Submodule|Any CPU
 		{95374549-9553-4C1E-9D89-667755F90E13}.Release|Any CPU.ActiveCfg = Debug|Any CPU
 		{95374549-9553-4C1E-9D89-667755F90E13}.Release|Any CPU.Build.0 = Debug|Any CPU
 		{95374549-9553-4C1E-9D89-667755F90E13}.Submodule|Any CPU.ActiveCfg = Submodule|Any CPU
@@ -152,14 +228,26 @@ Global
 		{9D66BC1B-4390-4B8D-8468-19D5A862EC23}.Release|Any CPU.Build.0 = Release|Any CPU
 		{9D66BC1B-4390-4B8D-8468-19D5A862EC23}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
 		{9D66BC1B-4390-4B8D-8468-19D5A862EC23}.Submodule|Any CPU.Build.0 = Debug|Any CPU
-		{BB1D1D81-7A74-4183-B7B1-3E78B32D42F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{BB1D1D81-7A74-4183-B7B1-3E78B32D42F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B5CDF05C-278A-40AA-A587-B27A00BD9135}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B5CDF05C-278A-40AA-A587-B27A00BD9135}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B5CDF05C-278A-40AA-A587-B27A00BD9135}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B5CDF05C-278A-40AA-A587-B27A00BD9135}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B5CDF05C-278A-40AA-A587-B27A00BD9135}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
+		{B5CDF05C-278A-40AA-A587-B27A00BD9135}.Submodule|Any CPU.Build.0 = Debug|Any CPU
+		{BB1D1D81-7A74-4183-B7B1-3E78B32D42F1}.Debug|Any CPU.ActiveCfg = Submodule|Any CPU
+		{BB1D1D81-7A74-4183-B7B1-3E78B32D42F1}.Debug|Any CPU.Build.0 = Submodule|Any CPU
 		{BB1D1D81-7A74-4183-B7B1-3E78B32D42F1}.Release|Any CPU.ActiveCfg = Debug|Any CPU
 		{BB1D1D81-7A74-4183-B7B1-3E78B32D42F1}.Release|Any CPU.Build.0 = Debug|Any CPU
 		{BB1D1D81-7A74-4183-B7B1-3E78B32D42F1}.Submodule|Any CPU.ActiveCfg = Submodule|Any CPU
 		{BB1D1D81-7A74-4183-B7B1-3E78B32D42F1}.Submodule|Any CPU.Build.0 = Submodule|Any CPU
-		{C856EFD8-E812-4E61-8B76-E3583D94C233}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C856EFD8-E812-4E61-8B76-E3583D94C233}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{BE981FC8-9B41-4336-815C-ECC365AE05D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{BE981FC8-9B41-4336-815C-ECC365AE05D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{BE981FC8-9B41-4336-815C-ECC365AE05D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{BE981FC8-9B41-4336-815C-ECC365AE05D4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{BE981FC8-9B41-4336-815C-ECC365AE05D4}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
+		{BE981FC8-9B41-4336-815C-ECC365AE05D4}.Submodule|Any CPU.Build.0 = Debug|Any CPU
+		{C856EFD8-E812-4E61-8B76-E3583D94C233}.Debug|Any CPU.ActiveCfg = Submodule|Any CPU
+		{C856EFD8-E812-4E61-8B76-E3583D94C233}.Debug|Any CPU.Build.0 = Submodule|Any CPU
 		{C856EFD8-E812-4E61-8B76-E3583D94C233}.Release|Any CPU.ActiveCfg = Debug|Any CPU
 		{C856EFD8-E812-4E61-8B76-E3583D94C233}.Release|Any CPU.Build.0 = Debug|Any CPU
 		{C856EFD8-E812-4E61-8B76-E3583D94C233}.Submodule|Any CPU.ActiveCfg = Submodule|Any CPU
@@ -176,6 +264,18 @@ Global
 		{D4E4D07E-D323-4CAE-BE04-8EE8EDF7F07E}.Release|Any CPU.Build.0 = Release|Any CPU
 		{D4E4D07E-D323-4CAE-BE04-8EE8EDF7F07E}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
 		{D4E4D07E-D323-4CAE-BE04-8EE8EDF7F07E}.Submodule|Any CPU.Build.0 = Debug|Any CPU
+		{E55F73E0-576A-4FE2-9108-E76960820AA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E55F73E0-576A-4FE2-9108-E76960820AA3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E55F73E0-576A-4FE2-9108-E76960820AA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E55F73E0-576A-4FE2-9108-E76960820AA3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E55F73E0-576A-4FE2-9108-E76960820AA3}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
+		{E55F73E0-576A-4FE2-9108-E76960820AA3}.Submodule|Any CPU.Build.0 = Debug|Any CPU
+		{FFC3D9B1-B19A-44D8-8AA2-96DDE911320E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FFC3D9B1-B19A-44D8-8AA2-96DDE911320E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FFC3D9B1-B19A-44D8-8AA2-96DDE911320E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FFC3D9B1-B19A-44D8-8AA2-96DDE911320E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{FFC3D9B1-B19A-44D8-8AA2-96DDE911320E}.Submodule|Any CPU.ActiveCfg = Debug|Any CPU
+		{FFC3D9B1-B19A-44D8-8AA2-96DDE911320E}.Submodule|Any CPU.Build.0 = Debug|Any CPU
 	EndGlobalSection
 	GlobalSection(NestedProjects) = preSolution
 		{7281334F-0B1D-4383-9EA2-6740D56ADCDE} = {6DC9A109-EC89-4221-B8CD-9E88B589DBC1}
@@ -191,15 +291,29 @@ Global
 		{BB1D1D81-7A74-4183-B7B1-3E78B32D42F1} = {6369E0D4-0A68-4D4E-A6A0-EF2EA793002F}
 		{903D6440-A981-4B29-8825-7EB820684925} = {6369E0D4-0A68-4D4E-A6A0-EF2EA793002F}
 		{C856EFD8-E812-4E61-8B76-E3583D94C233} = {6369E0D4-0A68-4D4E-A6A0-EF2EA793002F}
+		{40C7D4EA-FB93-49FE-B18F-700A28C3E670} = {6369E0D4-0A68-4D4E-A6A0-EF2EA793002F}
+		{FFC3D9B1-B19A-44D8-8AA2-96DDE911320E} = {6369E0D4-0A68-4D4E-A6A0-EF2EA793002F}
+		{B5CDF05C-278A-40AA-A587-B27A00BD9135} = {6369E0D4-0A68-4D4E-A6A0-EF2EA793002F}
 		{27EC05FB-0223-4B26-8157-E49AF81D0007} = {9D75644A-DEF1-4362-8553-4B5F09783DC9}
 		{416E19A2-9CD9-498F-BE75-20AB74535ACD} = {7D049DAA-F1B0-4697-9BCA-91FC0E1A2B9D}
 		{E9BCB7B9-3D8C-4C5C-B6FA-0BBAC6611106} = {7D049DAA-F1B0-4697-9BCA-91FC0E1A2B9D}
+		{78EC5D8B-299B-4724-844D-6F3A8E8D1536} = {7D049DAA-F1B0-4697-9BCA-91FC0E1A2B9D}
+		{C9302C4A-B571-4F8E-8FFA-7B4C7DF8B3E3} = {7D049DAA-F1B0-4697-9BCA-91FC0E1A2B9D}
 		{7011154B-87B0-4C54-98DD-B5FF1E60B75F} = {416E19A2-9CD9-498F-BE75-20AB74535ACD}
 		{61DAD6B1-E866-485B-819E-A9E86B793F5E} = {416E19A2-9CD9-498F-BE75-20AB74535ACD}
 		{53DAC12F-0421-4F5E-A746-17A701D2BDDA} = {416E19A2-9CD9-498F-BE75-20AB74535ACD}
 		{8EB3933F-A089-43A3-B662-617DC71A2173} = {416E19A2-9CD9-498F-BE75-20AB74535ACD}
 		{1F610540-D2ED-4F58-87CE-9092A43DBD4A} = {416E19A2-9CD9-498F-BE75-20AB74535ACD}
 		{7203A6ED-DA2E-4D56-B1AF-4C296A1C39D5} = {E9BCB7B9-3D8C-4C5C-B6FA-0BBAC6611106}
+		{3CBAA4AE-AC83-4043-BBB5-6EA7962EC983} = {C9302C4A-B571-4F8E-8FFA-7B4C7DF8B3E3}
+		{7004A4E6-12A5-46F1-BB1F-578FA9B63493} = {C9302C4A-B571-4F8E-8FFA-7B4C7DF8B3E3}
+		{13D4FF63-5D83-42D7-AE4C-56BB512D5D89} = {C9302C4A-B571-4F8E-8FFA-7B4C7DF8B3E3}
+		{7FBEAF56-65E5-4C07-B346-C6A0BC87B368} = {C9302C4A-B571-4F8E-8FFA-7B4C7DF8B3E3}
+		{E55F73E0-576A-4FE2-9108-E76960820AA3} = {C9302C4A-B571-4F8E-8FFA-7B4C7DF8B3E3}
+		{0735C3A2-17C1-4C8B-9653-3854AFD64D6D} = {C9302C4A-B571-4F8E-8FFA-7B4C7DF8B3E3}
+		{BE981FC8-9B41-4336-815C-ECC365AE05D4} = {C9302C4A-B571-4F8E-8FFA-7B4C7DF8B3E3}
+		{4C9355A7-1797-4708-A1F2-FBCDB782D04D} = {C9302C4A-B571-4F8E-8FFA-7B4C7DF8B3E3}
+		{414E9813-E0A8-4BD4-8694-485F528518F5} = {C9302C4A-B571-4F8E-8FFA-7B4C7DF8B3E3}
 	EndGlobalSection
 	GlobalSection(MonoDevelopProperties) = preSolution
 		StartupItem = src\Clients\MainApp\MainApp.csproj
diff --git a/configure.ac b/configure.ac
index a08b97d..8c89cb7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -315,25 +315,28 @@ data/desktop-files/f-spot-import.desktop.in
 
 help/Makefile
 
-lib/GKeyFile/Makefile
-lib/gio-sharp/Makefile
-lib/gio-sharp/gio/Makefile
 lib/gio-sharp/generator/Makefile
+lib/gio-sharp/gio/Makefile
+lib/gio-sharp/Makefile
+lib/GKeyFile/Makefile
 lib/gtk-sharp-beans/Makefile
-lib/libfspot/Makefile
-lib/Makefile
-lib/unique-sharp/Makefile
-lib/unique-sharp/generator/Makefile
-lib/unique-sharp/unique/Makefile
-lib/Hyena/Makefile
+lib/Hyena/build/m4/Makefile
 lib/Hyena/build/Makefile
 lib/Hyena/build/pkg-config/Makefile
-lib/Hyena/build/m4/Makefile
-lib/Hyena/Hyena/Makefile
-lib/Hyena/Mono.Data.Sqlite/Makefile
 lib/Hyena/Hyena.Data.Sqlite/Makefile
 lib/Hyena/Hyena.Gui/Makefile
+lib/Hyena/Hyena/Makefile
+lib/Hyena/Makefile
+lib/Hyena/Mono.Data.Sqlite/Makefile
+lib/libfspot/Makefile
+lib/Makefile
+lib/Mono.Google/Makefile
+lib/Mono.Tabblo/Makefile
+lib/SmugMugNet/Makefile
 lib/TagLib/Makefile
+lib/unique-sharp/generator/Makefile
+lib/unique-sharp/Makefile
+lib/unique-sharp/unique/Makefile
 
 src/AssemblyInfo.cs
 
@@ -364,18 +367,15 @@ src/Extensions/Editors/FSpot.Editors.FlipEditor/Makefile
 src/Extensions/Editors/FSpot.Editors.PixelateEditor/Makefile
 src/Extensions/Editors/FSpot.Editors.ResizeEditor/Makefile
 src/Extensions/Exporters/Makefile
-src/Extensions/Exporters/CDExport/Makefile
-src/Extensions/Exporters/FlickrExport/Makefile
-src/Extensions/Exporters/GalleryExport/Makefile
-src/Extensions/Exporters/FacebookExport/Makefile
-src/Extensions/Exporters/FolderExport/Makefile
-src/Extensions/Exporters/SmugMugExport/SmugMugNet/Makefile
-src/Extensions/Exporters/SmugMugExport/Makefile
-src/Extensions/Exporters/TabbloExport/Makefile
-src/Extensions/Exporters/TabbloExport/Tabblo/Makefile
-src/Extensions/Exporters/PicasaWebExport/Makefile
-src/Extensions/Exporters/PicasaWebExport/google-sharp/Makefile
-src/Extensions/Exporters/ZipExport/Makefile
+src/Extensions/Exporters/FSpot.Exporters.CDExport/Makefile
+src/Extensions/Exporters/FSpot.Exporters.FlickrExport/Makefile
+src/Extensions/Exporters/FSpot.Exporters.GalleryExport/Makefile
+src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Makefile
+src/Extensions/Exporters/FSpot.Exporters.FolderExport/Makefile
+src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/Makefile
+src/Extensions/Exporters/FSpot.Exporters.TabbloExport/Makefile
+src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/Makefile
+src/Extensions/Exporters/FSpot.Exporters.ZipExport/Makefile
 src/Extensions/Tools/Makefile
 src/Extensions/Tools/RawPlusJpeg/Makefile
 src/Extensions/Tools/ChangePhotoPath/Makefile
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 1d4a695..d568927 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -6,7 +6,10 @@ SUBDIRS = \
 	Hyena 				\
 	libfspot			\
 	TagLib 				\
-	unique-sharp
+	unique-sharp 		\
+	Mono.Google 		\
+	Mono.Tabblo 		\
+	SmugMugNet
 
 
 ### The stuff below takes care of embedding libraries. Build system hacks! ###
diff --git a/src/Extensions/Exporters/FlickrExport/.gitignore b/lib/Mono.Google/.gitignore
similarity index 100%
rename from src/Extensions/Exporters/FlickrExport/.gitignore
rename to lib/Mono.Google/.gitignore
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/AssemblyInfo.cs b/lib/Mono.Google/AssemblyInfo.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/AssemblyInfo.cs
rename to lib/Mono.Google/AssemblyInfo.cs
diff --git a/lib/Mono.Google/Makefile.am b/lib/Mono.Google/Makefile.am
new file mode 100644
index 0000000..c436aec
--- /dev/null
+++ b/lib/Mono.Google/Makefile.am
@@ -0,0 +1,31 @@
+ASSEMBLY = Mono.Google
+TARGET = library
+LINK = $(REF_MONO_GOOGLE)
+INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
+
+SOURCES =  \
+	Mono.Google.Picasa/AlbumAccess.cs \
+	Mono.Google.Picasa/CreateAlbumException.cs \
+	Mono.Google.Picasa/DeleteAlbumException.cs \
+	Mono.Google.Picasa/GDataApi.cs \
+	Mono.Google.Picasa/PicasaAlbum.cs \
+	Mono.Google.Picasa/PicasaAlbumCollection.cs \
+	Mono.Google.Picasa/PicasaPicture.cs \
+	Mono.Google.Picasa/PicasaPictureCollection.cs \
+	Mono.Google.Picasa/PicasaWeb.cs \
+	Mono.Google.Picasa/UploadPictureException.cs \
+	Mono.Google.Picasa/UploadProgressEventArgs.cs \
+	Mono.Google.Picasa/UploadProgressEventHandler.cs \
+	Mono.Google.Picasa/XmlUtil.cs \
+	Mono.Google/Authentication.cs \
+	Mono.Google/CaptchaException.cs \
+	Mono.Google/GoogleConnection.cs \
+	Mono.Google/GoogleService.cs \
+	Mono.Google/MultipartRequest.cs \
+	Mono.Google/NoCheckCertificatePolicy.cs
+
+RESOURCES =
+
+ASSEMBLY_INFO_SOURCE = AssemblyInfo.cs
+
+include $(top_srcdir)/build/build.mk
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/AlbumAccess.cs b/lib/Mono.Google/Mono.Google.Picasa/AlbumAccess.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/AlbumAccess.cs
rename to lib/Mono.Google/Mono.Google.Picasa/AlbumAccess.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/CreateAlbumException.cs b/lib/Mono.Google/Mono.Google.Picasa/CreateAlbumException.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/CreateAlbumException.cs
rename to lib/Mono.Google/Mono.Google.Picasa/CreateAlbumException.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/DeleteAlbumException.cs b/lib/Mono.Google/Mono.Google.Picasa/DeleteAlbumException.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/DeleteAlbumException.cs
rename to lib/Mono.Google/Mono.Google.Picasa/DeleteAlbumException.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/GDataApi.cs b/lib/Mono.Google/Mono.Google.Picasa/GDataApi.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/GDataApi.cs
rename to lib/Mono.Google/Mono.Google.Picasa/GDataApi.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/PicasaAlbum.cs b/lib/Mono.Google/Mono.Google.Picasa/PicasaAlbum.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/PicasaAlbum.cs
rename to lib/Mono.Google/Mono.Google.Picasa/PicasaAlbum.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/PicasaAlbumCollection.cs b/lib/Mono.Google/Mono.Google.Picasa/PicasaAlbumCollection.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/PicasaAlbumCollection.cs
rename to lib/Mono.Google/Mono.Google.Picasa/PicasaAlbumCollection.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/PicasaPicture.cs b/lib/Mono.Google/Mono.Google.Picasa/PicasaPicture.cs
similarity index 99%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/PicasaPicture.cs
rename to lib/Mono.Google/Mono.Google.Picasa/PicasaPicture.cs
index a5e559a..81395b3 100644
--- a/src/Extensions/Exporters/PicasaWebExport/google-sharp/PicasaPicture.cs
+++ b/lib/Mono.Google/Mono.Google.Picasa/PicasaPicture.cs
@@ -134,13 +134,11 @@ namespace Mono.Google.Picasa {
 			output_stream.Close ();
 
 			HttpWebResponse response = (HttpWebResponse) request.GetResponse ();
-			string received = "";
 			using (Stream stream = response.GetResponseStream ()) {
 				StreamReader sr = new StreamReader (stream, Encoding.UTF8);
-				received = sr.ReadToEnd ();
+				sr.ReadToEnd ();
 			}
 			response.Close ();
-
 		}
 
 		public void DownloadToStream (Stream stream)
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/PicasaPictureCollection.cs b/lib/Mono.Google/Mono.Google.Picasa/PicasaPictureCollection.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/PicasaPictureCollection.cs
rename to lib/Mono.Google/Mono.Google.Picasa/PicasaPictureCollection.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/PicasaWeb.cs b/lib/Mono.Google/Mono.Google.Picasa/PicasaWeb.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/PicasaWeb.cs
rename to lib/Mono.Google/Mono.Google.Picasa/PicasaWeb.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/UploadPictureException.cs b/lib/Mono.Google/Mono.Google.Picasa/UploadPictureException.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/UploadPictureException.cs
rename to lib/Mono.Google/Mono.Google.Picasa/UploadPictureException.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/UploadProgressEventArgs.cs b/lib/Mono.Google/Mono.Google.Picasa/UploadProgressEventArgs.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/UploadProgressEventArgs.cs
rename to lib/Mono.Google/Mono.Google.Picasa/UploadProgressEventArgs.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/UploadProgressEventHandler.cs b/lib/Mono.Google/Mono.Google.Picasa/UploadProgressEventHandler.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/UploadProgressEventHandler.cs
rename to lib/Mono.Google/Mono.Google.Picasa/UploadProgressEventHandler.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/XmlUtil.cs b/lib/Mono.Google/Mono.Google.Picasa/XmlUtil.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/XmlUtil.cs
rename to lib/Mono.Google/Mono.Google.Picasa/XmlUtil.cs
diff --git a/lib/Mono.Google/Mono.Google.csproj b/lib/Mono.Google/Mono.Google.csproj
new file mode 100644
index 0000000..eaa7be1
--- /dev/null
+++ b/lib/Mono.Google/Mono.Google.csproj
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{40C7D4EA-FB93-49FE-B18F-700A28C3E670}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>Mono.Google</RootNamespace>
+    <AssemblyName>Mono.Google</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <ReleaseVersion>0.7.2</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\bin</OutputPath>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\bin</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="Mono.Google.Picasa\AlbumAccess.cs" />
+    <Compile Include="Mono.Google\Authentication.cs" />
+    <Compile Include="Mono.Google\CaptchaException.cs" />
+    <Compile Include="Mono.Google.Picasa\CreateAlbumException.cs" />
+    <Compile Include="Mono.Google.Picasa\DeleteAlbumException.cs" />
+    <Compile Include="Mono.Google.Picasa\GDataApi.cs" />
+    <Compile Include="Mono.Google\GoogleConnection.cs" />
+    <Compile Include="Mono.Google\GoogleService.cs" />
+    <Compile Include="Mono.Google\MultipartRequest.cs" />
+    <Compile Include="Mono.Google\NoCheckCertificatePolicy.cs" />
+    <Compile Include="Mono.Google.Picasa\PicasaAlbum.cs" />
+    <Compile Include="Mono.Google.Picasa\PicasaAlbumCollection.cs" />
+    <Compile Include="Mono.Google.Picasa\PicasaPicture.cs" />
+    <Compile Include="Mono.Google.Picasa\PicasaPictureCollection.cs" />
+    <Compile Include="Mono.Google.Picasa\PicasaWeb.cs" />
+    <Compile Include="Mono.Google.Picasa\UploadPictureException.cs" />
+    <Compile Include="Mono.Google.Picasa\UploadProgressEventArgs.cs" />
+    <Compile Include="Mono.Google.Picasa\UploadProgressEventHandler.cs" />
+    <Compile Include="Mono.Google.Picasa\XmlUtil.cs" />
+  </ItemGroup>
+  <ProjectExtensions>
+    <MonoDevelop>
+      <Properties>
+        <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="true" RelativeMakefileName="Makefile.am" BuildTargetName="" CleanTargetName="" IsAutotoolsProject="true" RelativeConfigureInPath="../..">
+          <BuildFilesVar Sync="true" Name="SOURCES" />
+          <DeployFilesVar />
+          <ResourcesVar Sync="true" Name="RESOURCES" />
+          <OthersVar />
+          <GacRefVar />
+          <AsmRefVar />
+          <ProjectRefVar />
+        </MonoDevelop.Autotools.MakefileInfo>
+      </Properties>
+    </MonoDevelop>
+  </ProjectExtensions>
+  <ItemGroup>
+    <Folder Include="Mono.Google\" />
+    <Folder Include="Mono.Google.Picasa\" />
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Hyena\Hyena\Hyena.csproj">
+      <Project>{95374549-9553-4C1E-9D89-667755F90E12}</Project>
+      <Name>Hyena</Name>
+    </ProjectReference>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/Authentication.cs b/lib/Mono.Google/Mono.Google/Authentication.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/Authentication.cs
rename to lib/Mono.Google/Mono.Google/Authentication.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/CaptchaException.cs b/lib/Mono.Google/Mono.Google/CaptchaException.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/CaptchaException.cs
rename to lib/Mono.Google/Mono.Google/CaptchaException.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/GoogleConnection.cs b/lib/Mono.Google/Mono.Google/GoogleConnection.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/GoogleConnection.cs
rename to lib/Mono.Google/Mono.Google/GoogleConnection.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/GoogleService.cs b/lib/Mono.Google/Mono.Google/GoogleService.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/GoogleService.cs
rename to lib/Mono.Google/Mono.Google/GoogleService.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/MultipartRequest.cs b/lib/Mono.Google/Mono.Google/MultipartRequest.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/MultipartRequest.cs
rename to lib/Mono.Google/Mono.Google/MultipartRequest.cs
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/NoCheckCertificatePolicy.cs b/lib/Mono.Google/Mono.Google/NoCheckCertificatePolicy.cs
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/NoCheckCertificatePolicy.cs
rename to lib/Mono.Google/Mono.Google/NoCheckCertificatePolicy.cs
diff --git a/src/Extensions/Exporters/TabbloExport/Tabblo/AssemblyInfo.cs b/lib/Mono.Tabblo/AssemblyInfo.cs
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/Tabblo/AssemblyInfo.cs
rename to lib/Mono.Tabblo/AssemblyInfo.cs
diff --git a/lib/Mono.Tabblo/Makefile.am b/lib/Mono.Tabblo/Makefile.am
new file mode 100644
index 0000000..ec67590
--- /dev/null
+++ b/lib/Mono.Tabblo/Makefile.am
@@ -0,0 +1,21 @@
+ASSEMBLY = Mono.Tabblo
+TARGET = library
+LINK = $(REF_MONO_TABBLO)
+INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
+
+SOURCES =  \
+	Mono.Tabblo/Connection.cs \
+	Mono.Tabblo/IPreferences.cs \
+	Mono.Tabblo/MultipartRequest.cs \
+	Mono.Tabblo/Picture.cs \
+	Mono.Tabblo/TabbloException.cs \
+	Mono.Tabblo/TotalUploadProgress.cs \
+	Mono.Tabblo/Uploader.cs \
+	Mono.Tabblo/UploadProgressEventArgs.cs \
+	Mono.Tabblo/UploadProgressEventHandler.cs
+
+RESOURCES =
+
+ASSEMBLY_INFO_SOURCE = AssemblyInfo.cs
+
+include $(top_srcdir)/build/build.mk
diff --git a/lib/Mono.Tabblo/Mono.Tabblo.csproj b/lib/Mono.Tabblo/Mono.Tabblo.csproj
new file mode 100644
index 0000000..41e945d
--- /dev/null
+++ b/lib/Mono.Tabblo/Mono.Tabblo.csproj
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{B5CDF05C-278A-40AA-A587-B27A00BD9135}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>Mono.Tabblo</RootNamespace>
+    <AssemblyName>Mono.Tabblo</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <ReleaseVersion>0.7.2</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\bin</OutputPath>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\bin</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="Mono.Tabblo\Connection.cs" />
+    <Compile Include="Mono.Tabblo\IPreferences.cs" />
+    <Compile Include="Mono.Tabblo\MultipartRequest.cs" />
+    <Compile Include="Mono.Tabblo\Picture.cs" />
+    <Compile Include="Mono.Tabblo\TabbloException.cs" />
+    <Compile Include="Mono.Tabblo\TotalUploadProgress.cs" />
+    <Compile Include="Mono.Tabblo\Uploader.cs" />
+    <Compile Include="Mono.Tabblo\UploadProgressEventArgs.cs" />
+    <Compile Include="Mono.Tabblo\UploadProgressEventHandler.cs" />
+  </ItemGroup>
+  <ProjectExtensions>
+    <MonoDevelop>
+      <Properties>
+        <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="true" RelativeMakefileName="Makefile.am" BuildTargetName="" CleanTargetName="" IsAutotoolsProject="true" RelativeConfigureInPath="../..">
+          <BuildFilesVar Sync="true" Name="SOURCES" />
+          <DeployFilesVar />
+          <ResourcesVar Sync="true" Name="RESOURCES" />
+          <OthersVar />
+          <GacRefVar />
+          <AsmRefVar />
+          <ProjectRefVar />
+        </MonoDevelop.Autotools.MakefileInfo>
+      </Properties>
+    </MonoDevelop>
+  </ProjectExtensions>
+  <ItemGroup>
+    <Folder Include="Mono.Tabblo\" />
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="Mono.Posix" />
+    <Reference Include="System" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Hyena\Hyena\Hyena.csproj">
+      <Project>{95374549-9553-4C1E-9D89-667755F90E12}</Project>
+      <Name>Hyena</Name>
+    </ProjectReference>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/src/Extensions/Exporters/TabbloExport/Tabblo/Connection.cs b/lib/Mono.Tabblo/Mono.Tabblo/Connection.cs
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/Tabblo/Connection.cs
rename to lib/Mono.Tabblo/Mono.Tabblo/Connection.cs
diff --git a/src/Extensions/Exporters/TabbloExport/Tabblo/IPreferences.cs b/lib/Mono.Tabblo/Mono.Tabblo/IPreferences.cs
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/Tabblo/IPreferences.cs
rename to lib/Mono.Tabblo/Mono.Tabblo/IPreferences.cs
diff --git a/src/Extensions/Exporters/TabbloExport/Tabblo/MultipartRequest.cs b/lib/Mono.Tabblo/Mono.Tabblo/MultipartRequest.cs
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/Tabblo/MultipartRequest.cs
rename to lib/Mono.Tabblo/Mono.Tabblo/MultipartRequest.cs
diff --git a/src/Extensions/Exporters/TabbloExport/Tabblo/Picture.cs b/lib/Mono.Tabblo/Mono.Tabblo/Picture.cs
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/Tabblo/Picture.cs
rename to lib/Mono.Tabblo/Mono.Tabblo/Picture.cs
diff --git a/src/Extensions/Exporters/TabbloExport/Tabblo/TabbloException.cs b/lib/Mono.Tabblo/Mono.Tabblo/TabbloException.cs
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/Tabblo/TabbloException.cs
rename to lib/Mono.Tabblo/Mono.Tabblo/TabbloException.cs
diff --git a/src/Extensions/Exporters/TabbloExport/Tabblo/TotalUploadProgress.cs b/lib/Mono.Tabblo/Mono.Tabblo/TotalUploadProgress.cs
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/Tabblo/TotalUploadProgress.cs
rename to lib/Mono.Tabblo/Mono.Tabblo/TotalUploadProgress.cs
diff --git a/src/Extensions/Exporters/TabbloExport/Tabblo/UploadProgressEventArgs.cs b/lib/Mono.Tabblo/Mono.Tabblo/UploadProgressEventArgs.cs
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/Tabblo/UploadProgressEventArgs.cs
rename to lib/Mono.Tabblo/Mono.Tabblo/UploadProgressEventArgs.cs
diff --git a/src/Extensions/Exporters/TabbloExport/Tabblo/UploadProgressEventHandler.cs b/lib/Mono.Tabblo/Mono.Tabblo/UploadProgressEventHandler.cs
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/Tabblo/UploadProgressEventHandler.cs
rename to lib/Mono.Tabblo/Mono.Tabblo/UploadProgressEventHandler.cs
diff --git a/src/Extensions/Exporters/TabbloExport/Tabblo/Uploader.cs b/lib/Mono.Tabblo/Mono.Tabblo/Uploader.cs
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/Tabblo/Uploader.cs
rename to lib/Mono.Tabblo/Mono.Tabblo/Uploader.cs
diff --git a/src/Extensions/Exporters/SmugMugExport/SmugMugNet/.gitignore b/lib/SmugMugNet/.gitignore
similarity index 100%
rename from src/Extensions/Exporters/SmugMugExport/SmugMugNet/.gitignore
rename to lib/SmugMugNet/.gitignore
diff --git a/lib/SmugMugNet/Makefile.am b/lib/SmugMugNet/Makefile.am
new file mode 100644
index 0000000..7a48187
--- /dev/null
+++ b/lib/SmugMugNet/Makefile.am
@@ -0,0 +1,18 @@
+ASSEMBLY = SmugMugNet
+TARGET = library
+LINK = $(REF_SMUGMUGNET)
+INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
+
+SOURCES =  \
+	SmugMugNet/Album.cs \
+	SmugMugNet/Category.cs \
+	SmugMugNet/Credentials.cs \
+	SmugMugNet/NoCheckCertificatePolicy.cs \
+	SmugMugNet/SmugMugApi.cs \
+	SmugMugNet/SmugMugException.cs \
+	SmugMugNet/SmugMugProxy.cs \
+	SmugMugNet/SmugMugUploadException.cs
+
+RESOURCES =
+
+include $(top_srcdir)/build/build.mk
diff --git a/lib/SmugMugNet/SmugMugNet.csproj b/lib/SmugMugNet/SmugMugNet.csproj
new file mode 100644
index 0000000..7c0d79e
--- /dev/null
+++ b/lib/SmugMugNet/SmugMugNet.csproj
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{FFC3D9B1-B19A-44D8-8AA2-96DDE911320E}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>SmugMugNet</RootNamespace>
+    <AssemblyName>SmugMugNet</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <ReleaseVersion>0.7.2</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\bin</OutputPath>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\bin</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="SmugMugNet\NoCheckCertificatePolicy.cs" />
+    <Compile Include="SmugMugNet\SmugMugApi.cs" />
+    <Compile Include="SmugMugNet\Credentials.cs" />
+    <Compile Include="SmugMugNet\Category.cs" />
+    <Compile Include="SmugMugNet\Album.cs" />
+    <Compile Include="SmugMugNet\SmugMugProxy.cs" />
+    <Compile Include="SmugMugNet\SmugMugException.cs" />
+    <Compile Include="SmugMugNet\SmugMugUploadException.cs" />
+  </ItemGroup>
+  <ProjectExtensions>
+    <MonoDevelop>
+      <Properties>
+        <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="true" RelativeMakefileName="Makefile.am" BuildTargetName="" CleanTargetName="" IsAutotoolsProject="true" RelativeConfigureInPath="../..">
+          <BuildFilesVar Sync="true" Name="SOURCES" />
+          <DeployFilesVar />
+          <ResourcesVar Sync="true" Name="RESOURCES" />
+          <OthersVar />
+          <GacRefVar />
+          <AsmRefVar />
+          <ProjectRefVar />
+        </MonoDevelop.Autotools.MakefileInfo>
+      </Properties>
+    </MonoDevelop>
+  </ProjectExtensions>
+  <ItemGroup>
+    <Folder Include="SmugMugNet\" />
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Hyena\Hyena\Hyena.csproj">
+      <Project>{95374549-9553-4C1E-9D89-667755F90E12}</Project>
+      <Name>Hyena</Name>
+    </ProjectReference>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/lib/SmugMugNet/SmugMugNet/Album.cs b/lib/SmugMugNet/SmugMugNet/Album.cs
new file mode 100644
index 0000000..fc45faa
--- /dev/null
+++ b/lib/SmugMugNet/SmugMugNet/Album.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Net;
+using System.IO;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Collections.Specialized;
+using Hyena;
+
+namespace SmugMugNet
+{
+	public struct Album
+	{
+		public Album(string title, int id)
+		{
+			this.album_id = id;
+			this.title = title;
+		}
+
+		private int album_id;
+		public int AlbumID
+		{
+			get { return album_id; }
+			set { album_id = value; }
+		}
+
+		private string title;
+		public string Title
+		{
+			get { return title; }
+			set { title = value; }
+		}
+	}
+}
diff --git a/lib/SmugMugNet/SmugMugNet/Category.cs b/lib/SmugMugNet/SmugMugNet/Category.cs
new file mode 100644
index 0000000..9994f54
--- /dev/null
+++ b/lib/SmugMugNet/SmugMugNet/Category.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Net;
+using System.IO;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Collections.Specialized;
+using Hyena;
+
+namespace SmugMugNet
+{
+	public struct Category
+	{
+		public Category( string title, int id)
+		{
+			this.title = title;
+			this.category_id = id;
+		}
+
+		private int category_id;
+		public int CategoryID
+		{
+			get { return category_id; }
+			set { category_id = value; }
+		}
+
+		private string title;
+		public string Title
+		{
+			get { return title; }
+			set { title = value; }
+		}
+	}
+}
diff --git a/lib/SmugMugNet/SmugMugNet/Credentials.cs b/lib/SmugMugNet/SmugMugNet/Credentials.cs
new file mode 100644
index 0000000..1a8c225
--- /dev/null
+++ b/lib/SmugMugNet/SmugMugNet/Credentials.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Net;
+using System.IO;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Collections.Specialized;
+using Hyena;
+
+namespace SmugMugNet
+{
+	public struct Credentials
+	{
+		public string session_id;
+		public int user_id;
+		public string password_hash;
+
+		public string SessionID {
+			get { return session_id; }
+			set { session_id = value; }
+		}
+
+		public int UserID {
+			get { return user_id; }
+		}
+
+		public string PasswordHash {
+			get { return password_hash; }
+		}
+
+		public Credentials(string session_id, int user_id, string password_hash)
+		{
+			this.session_id = session_id;
+			this.user_id = user_id;
+			this.password_hash = password_hash;
+		}
+	}
+}
diff --git a/src/Extensions/Exporters/SmugMugExport/SmugMugNet/NoCheckCertificatePolicy.cs b/lib/SmugMugNet/SmugMugNet/NoCheckCertificatePolicy.cs
similarity index 100%
rename from src/Extensions/Exporters/SmugMugExport/SmugMugNet/NoCheckCertificatePolicy.cs
rename to lib/SmugMugNet/SmugMugNet/NoCheckCertificatePolicy.cs
diff --git a/lib/SmugMugNet/SmugMugNet/SmugMugApi.cs b/lib/SmugMugNet/SmugMugNet/SmugMugApi.cs
new file mode 100644
index 0000000..0b4a3f7
--- /dev/null
+++ b/lib/SmugMugNet/SmugMugNet/SmugMugApi.cs
@@ -0,0 +1,158 @@
+/*
+ * SmugMugApi.cs
+ *
+ * Authors:
+ *   Thomas Van Machelen <thomas vanmachelen gmail com>
+ *
+ * Copyright (C) 2006 Thomas Van Machelen
+ * This is free software. See COPYING for details.
+ *
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Net;
+using System.IO;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Collections.Specialized;
+using Hyena;
+
+namespace SmugMugNet
+{
+	public class SmugMugApi
+	{
+		private string username = String.Empty;
+		private string password = String.Empty;
+		private bool connected = false;
+
+		private Credentials credentials;
+		private const string VERSION = "1.1.1";
+		private Category[] categories;
+
+		public bool Connected
+		{
+			get { return connected; }
+		}
+
+		public SmugMugApi (string email_address, string password)
+		{
+			this.username = email_address;
+			this.password = password;
+		}
+
+		public bool Login ()
+		{
+			if (this.username.Length == 0 | this.password.Length == 0)
+			{
+				throw new SmugMugException("There is no username or password.");
+			}
+
+			if (this.connected == false && this.credentials.UserID == 0)
+			{
+				try
+				{
+					this.credentials = SmugMugProxy.LoginWithPassword (this.username, this.password);
+					this.connected = true;
+				}
+				catch
+				{
+					return false;
+				}
+			}
+			else
+			{
+				LoginWithHash ();
+			}
+
+			return true;
+		}
+
+		private void LoginWithHash ()
+		{
+			try {
+				string session_id = SmugMugProxy.LoginWithHash (this.credentials.UserID, this.credentials.PasswordHash);
+
+				if (session_id != null && session_id.Length > 0)
+				{
+					this.credentials.SessionID = session_id;
+				}
+				else
+				{
+					throw new SmugMugException ("SessionID was empty");
+				}
+			}
+			catch (Exception ex) {
+				throw new SmugMugException ("A login error occured, SessionID may be invalid.", ex.InnerException);
+			}
+		}
+
+		public void Logout ()
+		{
+			if (!connected)
+				return;
+
+			if (this.credentials.SessionID == null && this.credentials.SessionID.Length == 0)
+				return;
+
+			SmugMugProxy.Logout (this.credentials.SessionID);
+			connected = false;
+			this.credentials = new Credentials (null, 0, null);
+		}
+
+		public Category[] GetCategories ()
+		{
+			if (this.categories == null)
+			{
+				try {
+					this.categories = SmugMugProxy.GetCategories (credentials.SessionID);
+				}
+				catch (Exception ex) {
+					throw new SmugMugException ("Could not retrieve Categories", ex.InnerException);
+				}
+			}
+			return this.categories;
+		}
+
+		public Album CreateAlbum (string title, int category_id, bool is_public)
+		{
+			try {
+				return SmugMugProxy.CreateAlbum (title, category_id, credentials.SessionID, is_public);
+			}
+			catch (Exception ex) {
+				throw new SmugMugException ("Could not create album", ex.InnerException);
+			}
+		}
+
+		public Album[] GetAlbums ()
+		{
+			try {
+				return SmugMugProxy.GetAlbums(credentials.SessionID);
+			}
+			catch (Exception ex) {
+				throw new SmugMugException ("Could not get albums", ex.InnerException);
+			}
+		}
+
+		public Uri GetAlbumUrl (int image_id)
+		{
+			try {
+				return SmugMugProxy.GetAlbumUrl (image_id, credentials.SessionID);
+			}
+			catch (Exception ex) {
+				throw new SmugMugException ("Could not get album url", ex.InnerException);
+			}
+		}
+
+		public int Upload (string path, int album_id)
+		{
+			try {
+				return SmugMugProxy.Upload (path, album_id, credentials.SessionID);
+			}
+			catch (Exception ex) {
+				throw new SmugMugException ("Could not upload file", ex.InnerException);
+			}
+		}
+	}
+}
diff --git a/lib/SmugMugNet/SmugMugNet/SmugMugException.cs b/lib/SmugMugNet/SmugMugNet/SmugMugException.cs
new file mode 100644
index 0000000..4eed3ba
--- /dev/null
+++ b/lib/SmugMugNet/SmugMugNet/SmugMugException.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Net;
+using System.IO;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Collections.Specialized;
+using Hyena;
+
+namespace SmugMugNet
+{
+	public class SmugMugException : ApplicationException
+	{
+		public SmugMugException(string message) : base (message)
+		{
+			Log.Debug (message);
+		}
+
+		public SmugMugException (string message, Exception innerException) : base (message, innerException)
+		{
+			Log.Debug (message, innerException.ToString());
+		}
+	}
+}
diff --git a/lib/SmugMugNet/SmugMugNet/SmugMugProxy.cs b/lib/SmugMugNet/SmugMugNet/SmugMugProxy.cs
new file mode 100644
index 0000000..9fbad62
--- /dev/null
+++ b/lib/SmugMugNet/SmugMugNet/SmugMugProxy.cs
@@ -0,0 +1,234 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Net;
+using System.IO;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Collections.Specialized;
+using Hyena;
+
+namespace SmugMugNet
+{
+	public class SmugMugProxy
+	{
+		// FIXME: this getting should be done over https
+		private const string GET_URL = "https://api.SmugMug.com/hack/rest/";;
+		private const string POST_URL = "https://upload.SmugMug.com/hack/rest/";;
+		// key from massis
+		private const string APIKEY = "umtr0zB2wzwTZDhF2BySidg0hY0le3K6";
+		private const string VERSION = "1.1.1";
+
+		// rest methods
+		private const string LOGIN_WITHPASS_METHOD = "smugmug.login.withPassword";
+		private const string LOGIN_WITHHASH_METHOD = "smugmug.login.withHash";
+		private const string LOGOUT_METHOD = "smugmug.logout";
+		private const string ALBUMS_CREATE_METHOD = "smugmug.albums.create";
+		private const string ALBUMS_GET_URLS_METHOD = "smugmug.images.getURLs";
+		private const string ALBUMS_GET_METHOD = "smugmug.albums.get";
+		private const string CATEGORIES_GET_METHOD = "smugmug.categories.get";
+
+		// parameter constants
+		private const string EMAIL = "EmailAddress";
+		private const string PASSWORD = "Password";
+		private const string USER_ID = "UserID";
+		private const string PASSWORD_HASH = "PasswordHash";
+		private const string SESSION_ID = "SessionID";
+		private const string CATEGORY_ID = "CategoryID";
+		private const string IMAGE_ID = "ImageID";
+		private const string TITLE = "Title";
+		private const string ID = "id";
+
+		public static Credentials LoginWithPassword (string username, string password)
+		{
+			string url = FormatGetUrl (LOGIN_WITHPASS_METHOD, new SmugMugParam (EMAIL, username), new SmugMugParam (PASSWORD, password));
+			XmlDocument doc = GetResponseXml (url);
+
+			string sessionId = doc.SelectSingleNode ("/rsp/Login/SessionID").InnerText;
+			int userId = int.Parse (doc.SelectSingleNode ("/rsp/Login/UserID").InnerText);
+			string passwordHash = doc.SelectSingleNode ("/rsp/Login/PasswordHash").InnerText;
+
+			return new Credentials (sessionId, userId, passwordHash);
+		}
+
+		public static string LoginWithHash (int user_id, string password_hash)
+		{
+			string url = FormatGetUrl (LOGIN_WITHHASH_METHOD, new SmugMugParam (USER_ID, user_id), new SmugMugParam (PASSWORD_HASH, password_hash));
+			XmlDocument doc = GetResponseXml(url);
+
+			return doc.SelectSingleNode ("/rsp/Login/SessionID").InnerText;
+		}
+
+		public static void Logout (string session_id)
+		{
+			string url = FormatGetUrl (LOGOUT_METHOD, new SmugMugParam (SESSION_ID, session_id));
+			GetResponseXml (url);
+		}
+
+		public static Album[] GetAlbums (string session_id)
+		{
+			string url = FormatGetUrl (ALBUMS_GET_METHOD, new SmugMugParam(SESSION_ID, session_id));
+			XmlDocument doc = GetResponseXml (url);
+			XmlNodeList albumNodes = doc.SelectNodes ("/rsp/Albums/Album");
+
+			Album[] albums = new Album[albumNodes.Count];
+
+			for (int i = 0; i < albumNodes.Count; i++)
+			{
+				XmlNode current = albumNodes[i];
+				albums[i] = new Album (current.SelectSingleNode (TITLE).InnerText, int.Parse (current.Attributes[ID].Value));
+			}
+			return albums;
+		}
+
+		public static Uri GetAlbumUrl (int image_id, string session_id)
+		{
+			string url = FormatGetUrl(ALBUMS_GET_URLS_METHOD, new SmugMugParam(IMAGE_ID, image_id), new SmugMugParam(SESSION_ID, session_id));
+			XmlDocument doc = GetResponseXml(url);
+
+			string album_url = doc.SelectSingleNode("/rsp/ImageURLs/Image/AlbumURL").InnerText;
+
+			return new Uri(album_url);
+		}
+
+		public static Category[] GetCategories (string session_id)
+		{
+			string url = FormatGetUrl(CATEGORIES_GET_METHOD, new SmugMugParam (SESSION_ID, session_id));
+			XmlDocument doc = GetResponseXml (url);
+
+			XmlNodeList categoryNodes = doc.SelectNodes ("/rsp/Categories/Category");
+			Category[] categories = new Category[categoryNodes.Count];
+
+			for (int i = 0; i < categoryNodes.Count; i++)
+			{
+				XmlNode current = categoryNodes[i];
+				categories[i] = new Category (current.SelectSingleNode (TITLE).InnerText, int.Parse (current.Attributes[ID].Value));
+			}
+			return categories;
+		}
+
+		public static Album CreateAlbum (string title, int category_id, string session_id)
+		{
+			return CreateAlbum (title, category_id, session_id, true);
+		}
+
+		public static Album CreateAlbum (string title, int category_id, string session_id, bool is_public)
+		{
+			int public_int = is_public ? 1 : 0;
+			string url = FormatGetUrl (ALBUMS_CREATE_METHOD, new SmugMugParam (TITLE, title), new SmugMugParam (CATEGORY_ID, category_id), new SmugMugParam (SESSION_ID, session_id), new SmugMugParam ("Public", public_int));
+			XmlDocument doc = GetResponseXml (url);
+
+			int id = int.Parse(doc.SelectSingleNode("/rsp/Create/Album").Attributes[ID].Value);
+
+			return new Album(title, id);
+		}
+
+		public static int Upload (string path, int album_id, string session_id)
+		{
+			FileInfo file = new FileInfo(path);
+
+			if (!file.Exists)
+				throw new ArgumentException("Image does not exist: " + file.FullName);
+
+			try
+			{
+				WebClient client = new WebClient ();
+				client.BaseAddress = "http://upload.smugmug.com";;
+				client.Headers.Add ("Cookie:SMSESS=" + session_id);
+
+				NameValueCollection queryStringCollection = new NameValueCollection ();
+				queryStringCollection.Add ("AlbumID", album_id.ToString());
+				// Temporarily disabled because rest doesn't seem to return the ImageID anymore
+				// queryStringCollection.Add ("ResponseType", "REST");
+				// luckily JSON still holds it
+				queryStringCollection.Add ("ResponseType", "JSON");
+				client.QueryString = queryStringCollection;
+
+				byte[] responseArray = client.UploadFile ("http://upload.smugmug.com/photos/xmladd.mg";, "POST", file.FullName);
+				string response = Encoding.ASCII.GetString (responseArray);
+
+				// JSon approach
+				Regex id_regex = new Regex ("\\\"id\\\":( )?(?<image_id>\\d+),");
+				Match m  = id_regex.Match (response);
+
+				int id = -1;
+
+				if (m.Success)
+					id = int.Parse (m.Groups["image_id"].Value);
+
+				return id;
+
+				// REST approach, disabled for now
+				//XmlDocument doc = new XmlDocument ();
+				//doc.LoadXml (response);
+				// return int.Parse (doc.SelectSingleNode ("/rsp/ImageID").InnerText);
+
+			}
+			catch (Exception ex)
+			{
+				throw new SmugMugUploadException ("Error uploading image: " + file.FullName, ex.InnerException);
+			}
+		}
+
+		private static string FormatGetUrl(string method_name, params SmugMugParam[] parameters)
+		{
+			StringBuilder builder = new StringBuilder (string.Format ("{0}{1}/?method={2}", GET_URL, VERSION, method_name));
+
+			foreach (SmugMugParam param in parameters)
+				builder.Append (param.ToString ());
+
+			builder.Append (new SmugMugParam ("APIKey", APIKEY));
+			return builder.ToString();
+		}
+
+		private static XmlDocument GetResponseXml (string url)
+		{
+			HttpWebRequest request = HttpWebRequest.Create (url) as HttpWebRequest;
+			request.Credentials = CredentialCache.DefaultCredentials;
+			WebResponse response = request.GetResponse ();
+
+			XmlDocument doc = new XmlDocument ();
+			doc.LoadXml (new StreamReader (response.GetResponseStream ()).ReadToEnd ());
+			CheckResponseXml (doc);
+
+			response.Close ();
+			return doc;
+		}
+
+		private static void CheckResponseXml (XmlDocument doc)
+		{
+			if (doc.SelectSingleNode("/rsp").Attributes["stat"].Value == "ok")
+				return;
+
+			string message = doc.SelectSingleNode ("/rsp/err").Attributes["msg"].Value;
+			throw new SmugMugException (message);
+		}
+
+		private class SmugMugParam
+		{
+			string name;
+			object value;
+
+			public SmugMugParam (string name, object value)
+			{
+				this.name = name;
+				this.value = (value is String ? System.Web.HttpUtility.UrlEncode ((string)value) : value);
+			}
+
+			public string Name
+			{
+				get {return name;}
+			}
+
+			public object Value
+			{
+				get {return value;}
+			}
+
+			public override string ToString()
+			{
+				return string.Format("&{0}={1}", Name, Value);
+			}
+		}
+	}
+}
diff --git a/lib/SmugMugNet/SmugMugNet/SmugMugUploadException.cs b/lib/SmugMugNet/SmugMugNet/SmugMugUploadException.cs
new file mode 100644
index 0000000..4bdde5b
--- /dev/null
+++ b/lib/SmugMugNet/SmugMugNet/SmugMugUploadException.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Net;
+using System.IO;
+using System.Text.RegularExpressions;
+using System.Xml;
+using System.Collections.Specialized;
+using Hyena;
+
+namespace SmugMugNet
+{
+	public sealed class SmugMugUploadException : ApplicationException
+	{
+		public SmugMugUploadException (string message, Exception innerException) : base (message, innerException)
+		{
+			Log.Debug (message, innerException.ToString ());
+		}
+	}
+}
diff --git a/src/Extensions/Exporters/FSpot.Exporters.CDExport/FSpot.Exporters.CDExport.csproj b/src/Extensions/Exporters/FSpot.Exporters.CDExport/FSpot.Exporters.CDExport.csproj
new file mode 100644
index 0000000..e0d69b5
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.CDExport/FSpot.Exporters.CDExport.csproj
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{3CBAA4AE-AC83-4043-BBB5-6EA7962EC983}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>FSpot.Exporters.CDExport</RootNamespace>
+    <AssemblyName>FSpot.Exporters.CDExport</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <ReleaseVersion>0.7.2</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="FSpot.Exporters.CDExport\CDExport.cs" />
+    <Compile Include="FSpot.Exporters.CDExport\CDExportDialog.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Resources\CDExport.addin.xml">
+      <LogicalName>CDExport.addin.xml</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\CDExport.ui">
+      <LogicalName>CDExport.ui</LogicalName>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ProjectExtensions>
+    <MonoDevelop>
+      <Properties>
+        <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="true" RelativeMakefileName="Makefile.am" BuildTargetName="" CleanTargetName="" IsAutotoolsProject="true" RelativeConfigureInPath="../../../..">
+          <BuildFilesVar Sync="true" Name="SOURCES" />
+          <DeployFilesVar />
+          <ResourcesVar Sync="true" Name="RESOURCES" />
+          <OthersVar />
+          <GacRefVar />
+          <AsmRefVar />
+          <ProjectRefVar />
+        </MonoDevelop.Autotools.MakefileInfo>
+      </Properties>
+    </MonoDevelop>
+  </ProjectExtensions>
+  <ItemGroup>
+    <Reference Include="Mono.Posix" />
+    <Reference Include="gtk-sharp-beans, Version=2.14.0.0, Culture=neutral, PublicKeyToken=97a95fb57b03c03a">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\lib\gtk-sharp-beans\gtk-sharp-beans.dll</HintPath>
+    </Reference>
+    <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="gio-sharp, Version=2.14.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\Clients\MainApp\MainApp.csproj">
+      <Project>{27EC05FB-0223-4B26-8157-E49AF81D0007}</Project>
+      <Name>MainApp</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Core\FSpot.Core.csproj">
+      <Project>{57EDC3BC-E777-4400-B4E7-32A5D8F15A76}</Project>
+      <Name>FSpot.Core</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena\Hyena.csproj">
+      <Project>{95374549-9553-4C1E-9D89-667755F90E12}</Project>
+      <Name>Hyena</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="FSpot.Exporters.CDExport\" />
+    <Folder Include="Resources\" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/src/Extensions/Exporters/FSpot.Exporters.CDExport/FSpot.Exporters.CDExport/CDExport.cs b/src/Extensions/Exporters/FSpot.Exporters.CDExport/FSpot.Exporters.CDExport/CDExport.cs
new file mode 100644
index 0000000..db7b75d
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.CDExport/FSpot.Exporters.CDExport/CDExport.cs
@@ -0,0 +1,165 @@
+/*
+ * CDExport.cs
+ *
+ * Authors:
+ *   Larry Ewing <lewing novell com>
+ *   Lorenzo Milesi <maxxer yetopen it>
+ *
+ * Copyright (c) 2007-2009 Novell, Inc.
+ *
+ * This is free software. See COPYING for details.
+ */
+
+using System;
+using System.IO;
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+using Mono.Unix;
+
+using FSpot;
+using FSpot.Core;
+using FSpot.Filters;
+using FSpot.Widgets;
+using Hyena;
+using FSpot.UI.Dialog;
+
+using GLib;
+using Gtk;
+using GtkBeans;
+
+namespace FSpot.Exporters.CDExport {
+	public class CDExport : FSpot.Extensions.IExporter {
+		IBrowsableCollection selection;
+
+		System.Uri dest = new System.Uri ("burn:///");
+
+		int photo_index;
+		bool clean;
+
+		CDExportDialog dialog;
+		ThreadProgressDialog progress_dialog;
+		System.Threading.Thread command_thread;
+
+		public CDExport ()
+		{
+		}
+
+		public void Run (IBrowsableCollection selection)
+		{
+			this.selection = selection;
+			dialog = new CDExportDialog (selection, dest);
+			//LoadHistory ();
+
+			if (dialog.Run () != (int)ResponseType.Ok) {
+				dialog.Destroy ();
+				return;
+			}
+
+			clean = dialog.Clean;
+
+			command_thread = new System.Threading.Thread (new System.Threading.ThreadStart (Transfer));
+			command_thread.Name = Catalog.GetString ("Transferring Pictures");
+
+			progress_dialog = new ThreadProgressDialog (command_thread, selection.Count);
+			progress_dialog.Start ();
+
+			dialog.Destroy ();
+		}
+
+		[DllImport ("libc")]
+		extern static int system (string program);
+
+//		//FIXME: rewrite this as a Filter
+	        public static GLib.File UniqueName (System.Uri path, string shortname)
+	        {
+	                int i = 1;
+			GLib.File dest = FileFactory.NewForUri (new System.Uri (path, shortname));
+	                while (dest.Exists) {
+	                        string numbered_name = System.String.Format ("{0}-{1}{2}",
+	                                                              System.IO.Path.GetFileNameWithoutExtension (shortname),
+	                                                              i++,
+	                                                              System.IO.Path.GetExtension (shortname));
+
+				dest = FileFactory.NewForUri (new System.Uri (path, numbered_name));
+	                }
+
+	                return dest;
+	        }
+
+		void Clean (System.Uri path)
+		{
+			GLib.File source = FileFactory.NewForUri (path);
+			foreach (GLib.FileInfo info in source.EnumerateChildren ("*", FileQueryInfoFlags.None, null)) {
+				if (info.FileType == FileType.Directory)
+					Clean (new System.Uri(path, info.Name + "/"));
+				FileFactory.NewForUri (new System.Uri (path, info.Name)).Delete ();
+			}
+		}
+
+		public void Transfer () {
+			try {
+				bool result = true;
+
+				if (clean)
+					Clean (dest);
+
+				foreach (IBrowsableItem photo in selection.Items) {
+
+				//FIXME need to implement the uniquename as a filter
+					using (FilterRequest request = new FilterRequest (photo.DefaultVersion.Uri)) {
+						GLib.File source = FileFactory.NewForUri (request.Current.ToString ());
+						GLib.File target = UniqueName (dest, photo.Name);
+						FileProgressCallback cb = Progress;
+
+						progress_dialog.Message = System.String.Format (Catalog.GetString ("Transferring picture \"{0}\" To CD"), photo.Name);
+						progress_dialog.Fraction = photo_index / (double) selection.Count;
+						progress_dialog.ProgressText = System.String.Format (Catalog.GetString ("{0} of {1}"),
+											     photo_index, selection.Count);
+
+						result &= source.Copy (target,
+									FileCopyFlags.None,
+									null,
+									cb);
+					}
+					photo_index++;
+				}
+
+				// FIXME the error dialog here is ugly and needs improvement when strings are not frozen.
+				if (result) {
+					progress_dialog.Message = Catalog.GetString ("Done Sending Photos");
+					progress_dialog.Fraction = 1.0;
+					progress_dialog.ProgressText = Catalog.GetString ("Transfer Complete");
+					progress_dialog.ButtonLabel = Gtk.Stock.Ok;
+					progress_dialog.Hide ();
+					system ("brasero -n");
+				} else {
+					throw new System.Exception (System.String.Format ("{0}{3}{1}{3}{2}",
+											  progress_dialog.Message,
+											  Catalog.GetString ("Error While Transferring"),
+											  result.ToString (),
+											  System.Environment.NewLine));
+				}
+
+			} catch (System.Exception e) {
+				Hyena.Log.DebugException (e);
+				progress_dialog.Message = e.ToString ();
+				progress_dialog.ProgressText = Catalog.GetString ("Error Transferring");
+				return;
+			}
+			ThreadAssist.ProxyToMain (() => {
+				progress_dialog.Destroy ();
+			});
+		}
+
+		private void Progress (long current_num_bytes, long total_num_bytes)
+		{
+			progress_dialog.ProgressText = Catalog.GetString ("copying...");
+
+			if (total_num_bytes > 0)
+				progress_dialog.Fraction = current_num_bytes / (double)total_num_bytes;
+
+		}
+
+	}
+}
diff --git a/src/Extensions/Exporters/FSpot.Exporters.CDExport/FSpot.Exporters.CDExport/CDExportDialog.cs b/src/Extensions/Exporters/FSpot.Exporters.CDExport/FSpot.Exporters.CDExport/CDExportDialog.cs
new file mode 100644
index 0000000..3abf93f
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.CDExport/FSpot.Exporters.CDExport/CDExportDialog.cs
@@ -0,0 +1,109 @@
+using System;
+using System.IO;
+using System.Reflection;
+using System.Runtime.InteropServices;
+using Mono.Unix;
+using FSpot;
+using FSpot.Core;
+using FSpot.Filters;
+using FSpot.Widgets;
+using Hyena;
+using FSpot.UI.Dialog;
+using GLib;
+using Gtk;
+using GtkBeans;
+
+namespace FSpot.Exporters.CDExport
+{
+	class CDExportDialog : BuilderDialog {
+		Gtk.Window listwindow;
+		System.Uri dest;
+
+        [GtkBeans.Builder.Object] Button browse_button;
+		[GtkBeans.Builder.Object] ScrolledWindow thumb_scrolledwindow;
+		[GtkBeans.Builder.Object] CheckButton remove_check;
+		[GtkBeans.Builder.Object] Label size_label;
+		[GtkBeans.Builder.Object] Frame previous_frame;
+
+		public bool Clean {
+			get { return remove_check.Active; }
+		}
+
+		public CDExportDialog (IBrowsableCollection selection, System.Uri dest) : base (Assembly.GetExecutingAssembly (), "CDExport.ui", "cd_export_dialog")
+		{
+			this.dest = dest;
+
+			// Calculate the total size
+			long total_size = 0;
+			string path;
+			System.IO.FileInfo file_info;
+
+			foreach (IBrowsableItem item in selection.Items) {
+				path = item.DefaultVersion.Uri.LocalPath;
+				if (System.IO.File.Exists (path)) {
+					file_info = new System.IO.FileInfo (path);
+					total_size += file_info.Length;
+				}
+			}
+
+			FSpot.Widgets.IconView view = new FSpot.Widgets.IconView (selection);
+			view.DisplayDates = false;
+			view.DisplayTags = false;
+			view.DisplayRatings = false;
+
+			this.Modal = false;
+			this.TransientFor = null;
+
+			size_label.Text = Format.SizeForDisplay (total_size);
+
+			thumb_scrolledwindow.Add (view);
+			this.ShowAll ();
+
+			previous_frame.Visible = IsEmpty (dest);
+
+            browse_button.Clicked += HandleBrowseExisting;
+
+		}
+
+		bool IsEmpty (System.Uri path)
+		{
+			foreach (GLib.FileEnumerator f in FileFactory.NewForUri (path).EnumerateChildren ("*", FileQueryInfoFlags.None, null))
+				return true;
+			return false;
+		}
+
+		void HandleBrowseExisting (object sender, System.EventArgs args)
+		{
+			if (listwindow == null) {
+				listwindow = new Gtk.Window ("Pending files to write");
+				listwindow.SetDefaultSize (400, 200);
+				listwindow.DeleteEvent += delegate (object o, Gtk.DeleteEventArgs e) {(o as Gtk.Window).Destroy (); listwindow = null;};
+				Gtk.TextView view = new Gtk.TextView ();
+				Gtk.ScrolledWindow sw = new Gtk.ScrolledWindow ();
+				sw.Add (view);
+				listwindow.Add (sw);
+			} else {
+				((listwindow.Child as Gtk.ScrolledWindow).Child as Gtk.TextView).Buffer.Text = "";
+			}
+			ListAll (((listwindow.Child as Gtk.ScrolledWindow).Child as Gtk.TextView).Buffer, dest);
+			listwindow.ShowAll ();
+		}
+
+		void ListAll (Gtk.TextBuffer t, System.Uri path)
+		{
+			GLib.File f = FileFactory.NewForUri (path);
+			foreach (GLib.FileInfo info in f.EnumerateChildren ("*", FileQueryInfoFlags.None, null)) {
+				t.Text += new System.Uri (path, info.Name).ToString () + Environment.NewLine;
+				if (info.FileType == FileType.Directory)
+					ListAll (t, new System.Uri (path, info.Name + "/"));
+			}
+		}
+		
+		~CDExportDialog ()
+		{
+			if (listwindow != null)
+				listwindow.Destroy ();
+		}
+
+	}
+}
diff --git a/src/Extensions/Exporters/CDExport/Makefile.am b/src/Extensions/Exporters/FSpot.Exporters.CDExport/Makefile.am
similarity index 50%
rename from src/Extensions/Exporters/CDExport/Makefile.am
rename to src/Extensions/Exporters/FSpot.Exporters.CDExport/Makefile.am
index 7cf9120..74bcce8 100644
--- a/src/Extensions/Exporters/CDExport/Makefile.am
+++ b/src/Extensions/Exporters/FSpot.Exporters.CDExport/Makefile.am
@@ -3,10 +3,12 @@ TARGET = library
 LINK = $(REF_FSPOT_EXTENSION_CDEXPORT)
 INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
 
-SOURCES = CDExport.cs
+SOURCES =  \
+	FSpot.Exporters.CDExport/CDExport.cs \
+	FSpot.Exporters.CDExport/CDExportDialog.cs
 
-RESOURCES = \
-	CDExport.addin.xml \
-	CDExport.ui
+RESOURCES =  \
+	Resources/CDExport.addin.xml \
+	Resources/CDExport.ui
 
 include $(top_srcdir)/build/build.mk
diff --git a/src/Extensions/Exporters/CDExport/CDExport.addin.xml b/src/Extensions/Exporters/FSpot.Exporters.CDExport/Resources/CDExport.addin.xml
similarity index 79%
rename from src/Extensions/Exporters/CDExport/CDExport.addin.xml
rename to src/Extensions/Exporters/FSpot.Exporters.CDExport/Resources/CDExport.addin.xml
index 9a5bdab..a7fe3b6 100644
--- a/src/Extensions/Exporters/CDExport/CDExport.addin.xml
+++ b/src/Extensions/Exporters/FSpot.Exporters.CDExport/Resources/CDExport.addin.xml
@@ -12,6 +12,6 @@
 	</Dependencies>
 
 	<Extension path = "/FSpot/Menus/Exports">
-		<ExportMenuItem id="CD" _label = "_CD..." class = "FSpotCDExport.CDExport" />
+		<ExportMenuItem id="CD" _label = "_CD..." class = "FSpot.Exporters.CDExport.CDExport" />
 	</Extension>
 </Addin>
diff --git a/src/Extensions/Exporters/CDExport/CDExport.ui b/src/Extensions/Exporters/FSpot.Exporters.CDExport/Resources/CDExport.ui
similarity index 99%
rename from src/Extensions/Exporters/CDExport/CDExport.ui
rename to src/Extensions/Exporters/FSpot.Exporters.CDExport/Resources/CDExport.ui
index 391d858..b3468ed 100644
--- a/src/Extensions/Exporters/CDExport/CDExport.ui
+++ b/src/Extensions/Exporters/FSpot.Exporters.CDExport/Resources/CDExport.ui
@@ -79,7 +79,6 @@
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">False</property>
                                         <property name="use_underline">True</property>
-                                        <signal name="clicked" handler="HandleBrowseExisting"/>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
diff --git a/src/Extensions/Exporters/FacebookExport/.gitignore b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/.gitignore
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/.gitignore
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/.gitignore
diff --git a/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FSpot.Exporters.FacebookExport.csproj b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FSpot.Exporters.FacebookExport.csproj
new file mode 100644
index 0000000..c9e7bda
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FSpot.Exporters.FacebookExport.csproj
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{7004A4E6-12A5-46F1-BB1F-578FA9B63493}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>FSpot.Exporters.FacebookExport</RootNamespace>
+    <AssemblyName>FSpot.Exporters.FacebookExport</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <ReleaseVersion>0.7.2</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="FindNullableClashes.cs" />
+    <Compile Include="Mono.Facebook\facebook.cs" />
+    <Compile Include="Mono.Facebook\Album.cs" />
+    <Compile Include="Mono.Facebook\Error.cs" />
+    <Compile Include="Mono.Facebook\Event.cs" />
+    <Compile Include="Mono.Facebook\FacebookException.cs" />
+    <Compile Include="Mono.Facebook\FacebookParam.cs" />
+    <Compile Include="Mono.Facebook\FacebookSession.cs" />
+    <Compile Include="Mono.Facebook\Friend.cs" />
+    <Compile Include="Mono.Facebook\FriendInfo.cs" />
+    <Compile Include="Mono.Facebook\Group.cs" />
+    <Compile Include="Mono.Facebook\Location.cs" />
+    <Compile Include="Mono.Facebook\Notification.cs" />
+    <Compile Include="Mono.Facebook\PeopleList.cs" />
+    <Compile Include="Mono.Facebook\Photo.cs" />
+    <Compile Include="Mono.Facebook\Responses.cs" />
+    <Compile Include="Mono.Facebook\SessionInfo.cs" />
+    <Compile Include="Mono.Facebook\SessionWrapper.cs" />
+    <Compile Include="Mono.Facebook\Tag.cs" />
+    <Compile Include="Mono.Facebook\User.cs" />
+    <Compile Include="Mono.Facebook\Util.cs" />
+    <Compile Include="FSpot.Exporters.FacebookExport\FacebookExport.cs" />
+    <Compile Include="FSpot.Exporters.FacebookExport\FacebookExportDialog.cs" />
+    <Compile Include="FSpot.Exporters.FacebookExport\FacebookTagPopup.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Resources\FacebookExport.addin.xml">
+      <LogicalName>FacebookExport.addin.xml</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\FacebookExport.ui">
+      <LogicalName>FacebookExport.ui</LogicalName>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ProjectExtensions>
+    <MonoDevelop>
+      <Properties>
+        <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="true" RelativeMakefileName="Makefile.am" BuildTargetName="" CleanTargetName="" IsAutotoolsProject="true" RelativeConfigureInPath="../../../..">
+          <BuildFilesVar Sync="true" Name="SOURCES" />
+          <DeployFilesVar />
+          <ResourcesVar Sync="true" Name="RESOURCES" />
+          <OthersVar />
+          <GacRefVar />
+          <AsmRefVar />
+          <ProjectRefVar />
+        </MonoDevelop.Autotools.MakefileInfo>
+      </Properties>
+    </MonoDevelop>
+  </ProjectExtensions>
+  <ItemGroup>
+    <Folder Include="FSpot.Exporters.FacebookExport\" />
+    <Folder Include="Resources\" />
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="System.Core" />
+    <Reference Include="System" />
+    <Reference Include="Mono.Posix" />
+    <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="Gnome.Keyring, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1a73e1bde00c9b66">
+      <Package>gnome-keyring-sharp-1.0</Package>
+    </Reference>
+    <Reference Include="gtk-sharp-beans, Version=2.14.0.0, Culture=neutral, PublicKeyToken=97a95fb57b03c03a">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\lib\gtk-sharp-beans\gtk-sharp-beans.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Xml" />
+    <Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena\Hyena.csproj">
+      <Project>{95374549-9553-4C1E-9D89-667755F90E12}</Project>
+      <Name>Hyena</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Core\FSpot.Core.csproj">
+      <Project>{57EDC3BC-E777-4400-B4E7-32A5D8F15A76}</Project>
+      <Name>FSpot.Core</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Clients\MainApp\MainApp.csproj">
+      <Project>{27EC05FB-0223-4B26-8157-E49AF81D0007}</Project>
+      <Name>MainApp</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena.Gui\Hyena.Gui.csproj">
+      <Project>{C856EFD8-E812-4E61-8B76-E3583D94C233}</Project>
+      <Name>Hyena.Gui</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Platform\FSpot.Platform.csproj">
+      <Project>{2D3B12F7-ABF3-4784-92FE-78A1C775E157}</Project>
+      <Name>FSpot.Platform</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Widgets\FSpot.Widgets.csproj">
+      <Project>{05A7FEC4-974A-40EB-AFB8-14E523EEEFFB}</Project>
+      <Name>FSpot.Widgets</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Utils\FSpot.Utils.csproj">
+      <Project>{CE160879-1BF0-4711-A18F-FDA2772900FA}</Project>
+      <Name>FSpot.Utils</Name>
+    </ProjectReference>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/src/Extensions/Exporters/FacebookExport/FacebookExport.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FSpot.Exporters.FacebookExport/FacebookExport.cs
similarity index 99%
rename from src/Extensions/Exporters/FacebookExport/FacebookExport.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FSpot.Exporters.FacebookExport/FacebookExport.cs
index 5528fcd..5a1175f 100644
--- a/src/Extensions/Exporters/FacebookExport/FacebookExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FSpot.Exporters.FacebookExport/FacebookExport.cs
@@ -38,7 +38,7 @@ using FSpot.Platform;
 
 using Mono.Facebook;
 
-namespace FSpot.Exporter.Facebook
+namespace FSpot.Exporters.FacebookExport
 {
 	internal class FacebookAccount
 	{
diff --git a/src/Extensions/Exporters/FacebookExport/FacebookExportDialog.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FSpot.Exporters.FacebookExport/FacebookExportDialog.cs
similarity index 99%
rename from src/Extensions/Exporters/FacebookExport/FacebookExportDialog.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FSpot.Exporters.FacebookExport/FacebookExportDialog.cs
index e4b1f45..3e0df12 100644
--- a/src/Extensions/Exporters/FacebookExport/FacebookExportDialog.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FSpot.Exporters.FacebookExport/FacebookExportDialog.cs
@@ -32,7 +32,7 @@ using FSpot.UI.Dialog;
 using Mono.Facebook;
 using Mono.Unix;
 
-namespace FSpot.Exporter.Facebook
+namespace FSpot.Exporters.FacebookExport
 {
 	internal class FacebookExportDialog : BuilderDialog
 	{
diff --git a/src/Extensions/Exporters/FacebookExport/FacebookTagPopup.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FSpot.Exporters.FacebookExport/FacebookTagPopup.cs
similarity index 94%
rename from src/Extensions/Exporters/FacebookExport/FacebookTagPopup.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FSpot.Exporters.FacebookExport/FacebookTagPopup.cs
index 90953e4..c118d47 100644
--- a/src/Extensions/Exporters/FacebookExport/FacebookTagPopup.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FSpot.Exporters.FacebookExport/FacebookTagPopup.cs
@@ -16,7 +16,7 @@ using System.Collections.Generic;
 using FSpot.Widgets;
 using Mono.Facebook;
 
-namespace FSpot.Exporter.Facebook
+namespace FSpot.Exporters.FacebookExport
 {	
 	internal class FacebookTagPopup : BuilderWindow
 	{
diff --git a/src/Extensions/Exporters/FacebookExport/FindNullableClashes.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FindNullableClashes.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/FindNullableClashes.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/FindNullableClashes.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Makefile.am b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Makefile.am
similarity index 76%
rename from src/Extensions/Exporters/FacebookExport/Makefile.am
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Makefile.am
index 1c77f22..b18700a 100644
--- a/src/Extensions/Exporters/FacebookExport/Makefile.am
+++ b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Makefile.am
@@ -3,15 +3,15 @@ TARGET = library
 LINK = $(REF_FSPOT_EXTENSION_FACEBOOKEXPORT)
 INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
 
-SOURCES = \
-	FacebookExport.cs \
-	FacebookExportDialog.cs \
-	FacebookTagPopup.cs \
+SOURCES =  \
 	FindNullableClashes.cs \
-	Mono.Facebook/facebook.cs \
+	FSpot.Exporters.FacebookExport/FacebookExport.cs \
+	FSpot.Exporters.FacebookExport/FacebookExportDialog.cs \
+	FSpot.Exporters.FacebookExport/FacebookTagPopup.cs \
 	Mono.Facebook/Album.cs \
 	Mono.Facebook/Error.cs \
 	Mono.Facebook/Event.cs \
+	Mono.Facebook/facebook.cs \
 	Mono.Facebook/FacebookException.cs \
 	Mono.Facebook/FacebookParam.cs \
 	Mono.Facebook/FacebookSession.cs \
@@ -28,9 +28,9 @@ SOURCES = \
 	Mono.Facebook/Tag.cs \
 	Mono.Facebook/User.cs \
 	Mono.Facebook/Util.cs
-RESOURCES = \
-	FacebookExport.addin.xml \
-	FacebookExport.ui
+RESOURCES =  \
+	Resources/FacebookExport.addin.xml \
+	Resources/FacebookExport.ui
 
 ASSEMBLY_INFO_SOURCE = Mono.Facebook/AssemblyInfo.cs
 
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/Album.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Album.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/Album.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Album.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/AssemblyInfo.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/AssemblyInfo.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/AssemblyInfo.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/AssemblyInfo.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/Error.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Error.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/Error.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Error.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/Event.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Event.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/Event.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Event.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/FacebookException.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/FacebookException.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/FacebookException.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/FacebookException.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/FacebookParam.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/FacebookParam.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/FacebookParam.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/FacebookParam.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/FacebookSession.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/FacebookSession.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/FacebookSession.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/FacebookSession.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/Friend.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Friend.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/Friend.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Friend.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/FriendInfo.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/FriendInfo.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/FriendInfo.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/FriendInfo.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/Group.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Group.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/Group.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Group.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/Location.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Location.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/Location.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Location.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/Notification.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Notification.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/Notification.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Notification.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/PeopleList.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/PeopleList.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/PeopleList.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/PeopleList.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/Photo.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Photo.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/Photo.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Photo.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/Responses.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Responses.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/Responses.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Responses.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/SessionInfo.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/SessionInfo.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/SessionInfo.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/SessionInfo.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/SessionWrapper.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/SessionWrapper.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/SessionWrapper.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/SessionWrapper.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/Tag.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Tag.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/Tag.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Tag.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/User.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/User.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/User.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/User.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/Util.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Util.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/Util.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/Util.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/facebook.cs b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/facebook.cs
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/facebook.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/facebook.cs
diff --git a/src/Extensions/Exporters/FacebookExport/Mono.Facebook/facebook.xsd b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/facebook.xsd
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/Mono.Facebook/facebook.xsd
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Mono.Facebook/facebook.xsd
diff --git a/src/Extensions/Exporters/FacebookExport/FacebookExport.addin.xml b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Resources/FacebookExport.addin.xml
similarity index 90%
rename from src/Extensions/Exporters/FacebookExport/FacebookExport.addin.xml
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Resources/FacebookExport.addin.xml
index f7999bf..42b2d1f 100644
--- a/src/Extensions/Exporters/FacebookExport/FacebookExport.addin.xml
+++ b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Resources/FacebookExport.addin.xml
@@ -11,6 +11,6 @@
 		<Addin id="Core" version="0.7.0.0"/>
 	</Dependencies>
 	<Extension path = "/FSpot/Menus/Exports">
-		<ExportMenuItem id="Facebook" _label = "F_acebook..." class = "FSpot.Exporter.Facebook.FacebookExport" />
+		<ExportMenuItem id="Facebook" _label = "F_acebook..." class = "FSpot.Exporters.FacebookExport.FacebookExport" />
 	</Extension>
 </Addin>
diff --git a/src/Extensions/Exporters/FacebookExport/FacebookExport.ui b/src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Resources/FacebookExport.ui
similarity index 100%
rename from src/Extensions/Exporters/FacebookExport/FacebookExport.ui
rename to src/Extensions/Exporters/FSpot.Exporters.FacebookExport/Resources/FacebookExport.ui
diff --git a/src/Extensions/Exporters/FolderExport/.gitignore b/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/.gitignore
similarity index 100%
rename from src/Extensions/Exporters/FolderExport/.gitignore
rename to src/Extensions/Exporters/FSpot.Exporters.FlickrExport/.gitignore
diff --git a/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/FSpot.Exporters.FlickrExport.csproj b/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/FSpot.Exporters.FlickrExport.csproj
new file mode 100644
index 0000000..be95560
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/FSpot.Exporters.FlickrExport.csproj
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{13D4FF63-5D83-42D7-AE4C-56BB512D5D89}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>FSpot.Exporters.FlickrExport</RootNamespace>
+    <AssemblyName>FSpot.Exporters.FlickrExport</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <ReleaseVersion>0.7.2</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="FSpot.Exporters.FlickrExport\FlickrRemote.cs" />
+    <Compile Include="FSpot.Exporters.FlickrExport\FlickrExport.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Resources\FlickrExport.addin.xml">
+      <LogicalName>FlickrExport.addin.xml</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\FlickrExport.glade">
+      <LogicalName>FlickrExport.glade</LogicalName>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ProjectExtensions>
+    <MonoDevelop>
+      <Properties>
+        <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="true" RelativeMakefileName="Makefile.am" BuildTargetName="" CleanTargetName="" IsAutotoolsProject="true" RelativeConfigureInPath="../../../..">
+          <BuildFilesVar Sync="true" Name="SOURCES" />
+          <DeployFilesVar />
+          <ResourcesVar Sync="true" Name="RESOURCES" />
+          <OthersVar />
+          <GacRefVar />
+          <AsmRefVar />
+          <ProjectRefVar />
+        </MonoDevelop.Autotools.MakefileInfo>
+      </Properties>
+    </MonoDevelop>
+  </ProjectExtensions>
+  <ItemGroup>
+    <Reference Include="FlickrNet, Version=2.2.0.0, Culture=neutral, PublicKeyToken=2491df59efa5d132">
+      <Package>flickrnet</Package>
+    </Reference>
+    <Reference Include="Mono.Posix" />
+    <Reference Include="glade-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="gtk-sharp-beans, Version=2.14.0.0, Culture=neutral, PublicKeyToken=97a95fb57b03c03a">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\lib\gtk-sharp-beans\gtk-sharp-beans.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\Clients\MainApp\MainApp.csproj">
+      <Project>{27EC05FB-0223-4B26-8157-E49AF81D0007}</Project>
+      <Name>MainApp</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena\Hyena.csproj">
+      <Project>{95374549-9553-4C1E-9D89-667755F90E12}</Project>
+      <Name>Hyena</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena.Gui\Hyena.Gui.csproj">
+      <Project>{C856EFD8-E812-4E61-8B76-E3583D94C233}</Project>
+      <Name>Hyena.Gui</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Utils\FSpot.Utils.csproj">
+      <Project>{CE160879-1BF0-4711-A18F-FDA2772900FA}</Project>
+      <Name>FSpot.Utils</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Core\FSpot.Core.csproj">
+      <Project>{57EDC3BC-E777-4400-B4E7-32A5D8F15A76}</Project>
+      <Name>FSpot.Core</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="FSpot.Exporters.FlickrExport\" />
+    <Folder Include="Resources\" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/src/Extensions/Exporters/FlickrExport/FlickrExport.cs b/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/FSpot.Exporters.FlickrExport/FlickrExport.cs
similarity index 99%
rename from src/Extensions/Exporters/FlickrExport/FlickrExport.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FlickrExport/FSpot.Exporters.FlickrExport/FlickrExport.cs
index 64de9f0..ab01238 100644
--- a/src/Extensions/Exporters/FlickrExport/FlickrExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/FSpot.Exporters.FlickrExport/FlickrExport.cs
@@ -14,7 +14,7 @@ using FSpot.UI.Dialog;
 using Hyena;
 using Hyena.Widgets;
 
-namespace FSpotFlickrExport {
+namespace FSpot.Exporters.FlickrExport {
 	public class TwentyThreeHQExport : FlickrExport
 	{
 		public override void Run (IBrowsableCollection selection)
diff --git a/src/Extensions/Exporters/FlickrExport/FlickrRemote.cs b/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/FSpot.Exporters.FlickrExport/FlickrRemote.cs
similarity index 99%
rename from src/Extensions/Exporters/FlickrExport/FlickrRemote.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FlickrExport/FSpot.Exporters.FlickrExport/FlickrRemote.cs
index 4fc2861..66a5023 100644
--- a/src/Extensions/Exporters/FlickrExport/FlickrRemote.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/FSpot.Exporters.FlickrExport/FlickrRemote.cs
@@ -20,6 +20,7 @@ using FSpot.Utils;
 using FSpot.Filters;
 using Hyena;
 
+namespace FSpot.Exporters.FlickrExport {
 public class FlickrRemote {
 	public static Licenses    licenses;
 	private string            frob;
@@ -238,3 +239,4 @@ public class FlickrRemote {
 		}
 	}
 }
+}
\ No newline at end of file
diff --git a/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/Makefile.am b/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/Makefile.am
new file mode 100644
index 0000000..77b560a
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/Makefile.am
@@ -0,0 +1,14 @@
+ASSEMBLY = FSpot.Exporters.FlickrExport
+TARGET = library
+LINK = $(REF_FSPOT_EXTENSION_FLICKREXPORT)
+INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
+
+SOURCES =  \
+	FSpot.Exporters.FlickrExport/FlickrExport.cs \
+	FSpot.Exporters.FlickrExport/FlickrRemote.cs
+
+RESOURCES =  \
+	Resources/FlickrExport.addin.xml \
+	Resources/FlickrExport.glade
+
+include $(top_srcdir)/build/build.mk
diff --git a/src/Extensions/Exporters/FlickrExport/FlickrExport.addin.xml b/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/Resources/FlickrExport.addin.xml
similarity index 71%
rename from src/Extensions/Exporters/FlickrExport/FlickrExport.addin.xml
rename to src/Extensions/Exporters/FSpot.Exporters.FlickrExport/Resources/FlickrExport.addin.xml
index 192f120..4fae45c 100644
--- a/src/Extensions/Exporters/FlickrExport/FlickrExport.addin.xml
+++ b/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/Resources/FlickrExport.addin.xml
@@ -12,8 +12,8 @@
 	</Dependencies>
 
 	<Extension path = "/FSpot/Menus/Exports">
-		<ExportMenuItem id="Flickr" _label = "_Flickr..." class = "FSpotFlickrExport.FlickrExport" />
-		<ExportMenuItem id="23hq" _label = "_23hq..." class = "FSpotFlickrExport.TwentyThreeHQExport" />
-		<ExportMenuItem id="zooomr" _label = "_Zooomr..." class = "FSpotFlickrExport.ZooomrExport" />
+		<ExportMenuItem id="Flickr" _label = "_Flickr..." class = "FSpot.Exporters.FlickrExport.FlickrExport" />
+		<ExportMenuItem id="23hq" _label = "_23hq..." class = "FSpot.Exporters.FlickrExport.TwentyThreeHQExport" />
+		<ExportMenuItem id="zooomr" _label = "_Zooomr..." class = "FSpot.Exporters.FlickrExport.ZooomrExport" />
 	</Extension>
 </Addin>
diff --git a/src/Extensions/Exporters/FlickrExport/FlickrExport.glade b/src/Extensions/Exporters/FSpot.Exporters.FlickrExport/Resources/FlickrExport.glade
similarity index 100%
rename from src/Extensions/Exporters/FlickrExport/FlickrExport.glade
rename to src/Extensions/Exporters/FSpot.Exporters.FlickrExport/Resources/FlickrExport.glade
diff --git a/src/Extensions/Exporters/GalleryExport/.gitignore b/src/Extensions/Exporters/FSpot.Exporters.FolderExport/.gitignore
similarity index 100%
rename from src/Extensions/Exporters/GalleryExport/.gitignore
rename to src/Extensions/Exporters/FSpot.Exporters.FolderExport/.gitignore
diff --git a/src/Extensions/Exporters/FSpot.Exporters.FolderExport/FSpot.Exporters.FolderExport.csproj b/src/Extensions/Exporters/FSpot.Exporters.FolderExport/FSpot.Exporters.FolderExport.csproj
new file mode 100644
index 0000000..ab1a107
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.FolderExport/FSpot.Exporters.FolderExport.csproj
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{7FBEAF56-65E5-4C07-B346-C6A0BC87B368}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>FSpot.Exporters.FolderExport</RootNamespace>
+    <AssemblyName>FSpot.Exporters.FolderExport</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <ReleaseVersion>0.7.2</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="FSpot.Exporters.FolderExport\FolderExport.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Resources\f-spot.js">
+      <LogicalName>f-spot.js</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\FolderExport.glade">
+      <LogicalName>FolderExport.glade</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\f-spot-simple.css">
+      <LogicalName>f-spot-simple.css</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\f-spot-simple-white.css">
+      <LogicalName>f-spot-simple-white.css</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\FolderExport.addin.xml">
+      <LogicalName>FolderExport.addin.xml</LogicalName>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ProjectExtensions>
+    <MonoDevelop>
+      <Properties>
+        <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="true" RelativeMakefileName="Makefile.am" BuildTargetName="" CleanTargetName="" IsAutotoolsProject="true" RelativeConfigureInPath="../../../..">
+          <BuildFilesVar Sync="true" Name="SOURCES" />
+          <DeployFilesVar />
+          <ResourcesVar Sync="true" Name="RESOURCES" />
+          <OthersVar />
+          <GacRefVar />
+          <AsmRefVar />
+          <ProjectRefVar />
+        </MonoDevelop.Autotools.MakefileInfo>
+      </Properties>
+    </MonoDevelop>
+  </ProjectExtensions>
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena\Hyena.csproj">
+      <Project>{95374549-9553-4C1E-9D89-667755F90E12}</Project>
+      <Name>Hyena</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Core\FSpot.Core.csproj">
+      <Project>{57EDC3BC-E777-4400-B4E7-32A5D8F15A76}</Project>
+      <Name>FSpot.Core</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Clients\MainApp\MainApp.csproj">
+      <Project>{27EC05FB-0223-4B26-8157-E49AF81D0007}</Project>
+      <Name>MainApp</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Utils\FSpot.Utils.csproj">
+      <Project>{CE160879-1BF0-4711-A18F-FDA2772900FA}</Project>
+      <Name>FSpot.Utils</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Widgets\FSpot.Widgets.csproj">
+      <Project>{05A7FEC4-974A-40EB-AFB8-14E523EEEFFB}</Project>
+      <Name>FSpot.Widgets</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="ICSharpCode.SharpZipLib" />
+    <Reference Include="Mono.Posix" />
+    <Reference Include="glade-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="gtk-sharp-beans, Version=2.14.0.0, Culture=neutral, PublicKeyToken=97a95fb57b03c03a">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\lib\gtk-sharp-beans\gtk-sharp-beans.dll</HintPath>
+    </Reference>
+    <Reference Include="gio-sharp, Version=2.14.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Web" />
+    <Reference Include="System.Core" />
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Resources\" />
+    <Folder Include="FSpot.Exporters.FolderExport\" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/src/Extensions/Exporters/FolderExport/FolderExport.cs b/src/Extensions/Exporters/FSpot.Exporters.FolderExport/FSpot.Exporters.FolderExport/FolderExport.cs
similarity index 99%
rename from src/Extensions/Exporters/FolderExport/FolderExport.cs
rename to src/Extensions/Exporters/FSpot.Exporters.FolderExport/FSpot.Exporters.FolderExport/FolderExport.cs
index 4fe9cc4..a644121 100644
--- a/src/Extensions/Exporters/FolderExport/FolderExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.FolderExport/FSpot.Exporters.FolderExport/FolderExport.cs
@@ -39,7 +39,7 @@ using FSpot.Widgets;
 using FSpot.Utils;
 using FSpot.UI.Dialog;
 
-namespace FSpotFolderExport {
+namespace FSpot.Exporters.FolderExport {
 	public class FolderExport : FSpot.Extensions.IExporter {
 		IBrowsableCollection selection;
 
diff --git a/src/Extensions/Exporters/FSpot.Exporters.FolderExport/Makefile.am b/src/Extensions/Exporters/FSpot.Exporters.FolderExport/Makefile.am
new file mode 100644
index 0000000..fa23bae
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.FolderExport/Makefile.am
@@ -0,0 +1,15 @@
+ASSEMBLY = FSpot.Exporters.FolderExport
+TARGET = library
+LINK = $(REF_FSPOT_EXTENSION_FOLDEREXPORT)
+INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
+
+SOURCES = FSpot.Exporters.FolderExport/FolderExport.cs
+
+RESOURCES =  \
+	Resources/FolderExport.addin.xml \
+	Resources/FolderExport.glade \
+	Resources/f-spot.js \
+	Resources/f-spot-simple.css \
+	Resources/f-spot-simple-white.css
+
+include $(top_srcdir)/build/build.mk
diff --git a/src/Extensions/Exporters/FolderExport/FolderExport.addin.xml b/src/Extensions/Exporters/FSpot.Exporters.FolderExport/Resources/FolderExport.addin.xml
similarity index 91%
rename from src/Extensions/Exporters/FolderExport/FolderExport.addin.xml
rename to src/Extensions/Exporters/FSpot.Exporters.FolderExport/Resources/FolderExport.addin.xml
index d98e734..14705fa 100644
--- a/src/Extensions/Exporters/FolderExport/FolderExport.addin.xml
+++ b/src/Extensions/Exporters/FSpot.Exporters.FolderExport/Resources/FolderExport.addin.xml
@@ -12,6 +12,6 @@
 	</Dependencies>
 
 	<Extension path = "/FSpot/Menus/Exports">
-		<ExportMenuItem id="Folder" _label = "F_older..." class = "FSpotFolderExport.FolderExport" />
+		<ExportMenuItem id="Folder" _label = "F_older..." class = "FSpot.Exporters.FolderExport.FolderExport" />
 	</Extension>
 </Addin>
diff --git a/src/Extensions/Exporters/FolderExport/FolderExport.glade b/src/Extensions/Exporters/FSpot.Exporters.FolderExport/Resources/FolderExport.glade
similarity index 100%
rename from src/Extensions/Exporters/FolderExport/FolderExport.glade
rename to src/Extensions/Exporters/FSpot.Exporters.FolderExport/Resources/FolderExport.glade
diff --git a/src/Extensions/Exporters/FolderExport/f-spot-simple-white.css b/src/Extensions/Exporters/FSpot.Exporters.FolderExport/Resources/f-spot-simple-white.css
similarity index 100%
rename from src/Extensions/Exporters/FolderExport/f-spot-simple-white.css
rename to src/Extensions/Exporters/FSpot.Exporters.FolderExport/Resources/f-spot-simple-white.css
diff --git a/src/Extensions/Exporters/FolderExport/f-spot-simple.css b/src/Extensions/Exporters/FSpot.Exporters.FolderExport/Resources/f-spot-simple.css
similarity index 100%
rename from src/Extensions/Exporters/FolderExport/f-spot-simple.css
rename to src/Extensions/Exporters/FSpot.Exporters.FolderExport/Resources/f-spot-simple.css
diff --git a/src/Extensions/Exporters/FolderExport/f-spot.js b/src/Extensions/Exporters/FSpot.Exporters.FolderExport/Resources/f-spot.js
similarity index 100%
rename from src/Extensions/Exporters/FolderExport/f-spot.js
rename to src/Extensions/Exporters/FSpot.Exporters.FolderExport/Resources/f-spot.js
diff --git a/src/Extensions/Exporters/PicasaWebExport/.gitignore b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/.gitignore
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/.gitignore
rename to src/Extensions/Exporters/FSpot.Exporters.GalleryExport/.gitignore
diff --git a/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/FSpot.Exporters.GalleryExport.csproj b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/FSpot.Exporters.GalleryExport.csproj
new file mode 100644
index 0000000..e322294
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/FSpot.Exporters.GalleryExport.csproj
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{E55F73E0-576A-4FE2-9108-E76960820AA3}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>FSpot.Exporters.GalleryExport</RootNamespace>
+    <AssemblyName>FSpot.Exporters.GalleryExport</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <ReleaseVersion>0.7.2</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="FSpot.Exporters.GalleryExport\FormClient.cs" />
+    <Compile Include="FSpot.Exporters.GalleryExport\GalleryExport.cs" />
+    <Compile Include="FSpot.Exporters.GalleryExport\GalleryRemote.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Resources\GalleryExport.addin.xml">
+      <LogicalName>GalleryExport.addin.xml</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\GalleryExport.glade">
+      <LogicalName>GalleryExport.glade</LogicalName>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ProjectExtensions>
+    <MonoDevelop>
+      <Properties>
+        <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="true" RelativeMakefileName="Makefile.am" BuildTargetName="" CleanTargetName="" IsAutotoolsProject="true" RelativeConfigureInPath="../../../..">
+          <BuildFilesVar Sync="true" Name="SOURCES" />
+          <DeployFilesVar />
+          <ResourcesVar Sync="true" Name="RESOURCES" />
+          <OthersVar />
+          <GacRefVar />
+          <AsmRefVar />
+          <ProjectRefVar />
+        </MonoDevelop.Autotools.MakefileInfo>
+      </Properties>
+    </MonoDevelop>
+  </ProjectExtensions>
+  <ItemGroup>
+    <Reference Include="System.Core" />
+    <Reference Include="Mono.Posix" />
+    <Reference Include="System" />
+    <Reference Include="System.Xml" />
+    <Reference Include="glade-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="gtk-sharp-beans, Version=2.14.0.0, Culture=neutral, PublicKeyToken=97a95fb57b03c03a">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\lib\gtk-sharp-beans\gtk-sharp-beans.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena\Hyena.csproj">
+      <Project>{95374549-9553-4C1E-9D89-667755F90E12}</Project>
+      <Name>Hyena</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Core\FSpot.Core.csproj">
+      <Project>{57EDC3BC-E777-4400-B4E7-32A5D8F15A76}</Project>
+      <Name>FSpot.Core</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Widgets\FSpot.Widgets.csproj">
+      <Project>{05A7FEC4-974A-40EB-AFB8-14E523EEEFFB}</Project>
+      <Name>FSpot.Widgets</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Utils\FSpot.Utils.csproj">
+      <Project>{CE160879-1BF0-4711-A18F-FDA2772900FA}</Project>
+      <Name>FSpot.Utils</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Clients\MainApp\MainApp.csproj">
+      <Project>{27EC05FB-0223-4B26-8157-E49AF81D0007}</Project>
+      <Name>MainApp</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena.Gui\Hyena.Gui.csproj">
+      <Project>{C856EFD8-E812-4E61-8B76-E3583D94C233}</Project>
+      <Name>Hyena.Gui</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="FSpot.Exporters.GalleryExport\" />
+    <Folder Include="Resources\" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/src/Extensions/Exporters/GalleryExport/FormClient.cs b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/FSpot.Exporters.GalleryExport/FormClient.cs
similarity index 99%
rename from src/Extensions/Exporters/GalleryExport/FormClient.cs
rename to src/Extensions/Exporters/FSpot.Exporters.GalleryExport/FSpot.Exporters.GalleryExport/FormClient.cs
index 2dfc5bd..548a95f 100644
--- a/src/Extensions/Exporters/GalleryExport/FormClient.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/FSpot.Exporters.GalleryExport/FormClient.cs
@@ -8,7 +8,7 @@ using System.Web;
 using Hyena;
 using FSpot.Core;
 
-namespace FSpot {
+namespace FSpot.Exporters.GalleryExport {
 	public class FormClient {
 		private struct FormItem {
 			public string Name;
diff --git a/src/Extensions/Exporters/GalleryExport/GalleryExport.cs b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/FSpot.Exporters.GalleryExport/GalleryExport.cs
similarity index 99%
rename from src/Extensions/Exporters/GalleryExport/GalleryExport.cs
rename to src/Extensions/Exporters/FSpot.Exporters.GalleryExport/FSpot.Exporters.GalleryExport/GalleryExport.cs
index 6c94ebb..908748a 100644
--- a/src/Extensions/Exporters/GalleryExport/GalleryExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/FSpot.Exporters.GalleryExport/GalleryExport.cs
@@ -15,11 +15,10 @@ using FSpot.Utils;
 using FSpot.UI.Dialog;
 using FSpot.Extensions;
 
-using GalleryRemote;
 using Hyena;
 using Hyena.Widgets;
 
-namespace G2Export {
+namespace FSpot.Exporters.GalleryExport {
 	public class GalleryAccount {
 		public GalleryAccount (string name, string url, string username, string password) : this (name, url, username, password, GalleryVersion.VersionUnknown) {}
 		public GalleryAccount (string name, string url, string username, string password, GalleryVersion version)
@@ -395,7 +394,7 @@ namespace G2Export {
 					md.Run ();
 					md.Destroy ();
 					return;
-				} catch (GalleryRemote.GalleryException e) {
+				} catch (GalleryException e) {
 					HigMessageDialog md =
 						new HigMessageDialog (add_dialog,
 								      Gtk.DialogFlags.Modal |
diff --git a/src/Extensions/Exporters/GalleryExport/GalleryRemote.cs b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/FSpot.Exporters.GalleryExport/GalleryRemote.cs
similarity index 99%
rename from src/Extensions/Exporters/GalleryExport/GalleryRemote.cs
rename to src/Extensions/Exporters/FSpot.Exporters.GalleryExport/FSpot.Exporters.GalleryExport/GalleryRemote.cs
index 00ec068..e6c3948 100644
--- a/src/Extensions/Exporters/GalleryExport/GalleryRemote.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/FSpot.Exporters.GalleryExport/GalleryRemote.cs
@@ -17,7 +17,7 @@ using Hyena.Widgets;
  * http://codex.gallery2.org/index.php/Gallery_Remote:Protocol
  */
 
-namespace GalleryRemote {
+namespace FSpot.Exporters.GalleryExport {
 	public enum AlbumPermission : byte
 	{
 		None = 0,
diff --git a/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/Makefile.am b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/Makefile.am
new file mode 100644
index 0000000..0e8f18a
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/Makefile.am
@@ -0,0 +1,15 @@
+ASSEMBLY = FSpot.Exporters.GalleryExport
+TARGET = library
+LINK = $(REF_FSPOT_EXTENSION_GALLERYEXPORT)
+INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
+
+SOURCES =  \
+	FSpot.Exporters.GalleryExport/FormClient.cs \
+	FSpot.Exporters.GalleryExport/GalleryExport.cs \
+	FSpot.Exporters.GalleryExport/GalleryRemote.cs
+
+RESOURCES =  \
+	Resources/GalleryExport.addin.xml \
+	Resources/GalleryExport.glade
+
+include $(top_srcdir)/build/build.mk
diff --git a/src/Extensions/Exporters/GalleryExport/GalleryExport.addin.xml b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/Resources/GalleryExport.addin.xml
similarity index 90%
rename from src/Extensions/Exporters/GalleryExport/GalleryExport.addin.xml
rename to src/Extensions/Exporters/FSpot.Exporters.GalleryExport/Resources/GalleryExport.addin.xml
index d1998e4..7775469 100644
--- a/src/Extensions/Exporters/GalleryExport/GalleryExport.addin.xml
+++ b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/Resources/GalleryExport.addin.xml
@@ -12,6 +12,6 @@
 	</Dependencies>
 
 	<Extension path = "/FSpot/Menus/Exports">
-		<ExportMenuItem id="Gallery" _label = "Web _Gallery..." class = "G2Export.GalleryExport" />
+		<ExportMenuItem id="Gallery" _label = "Web _Gallery..." class = "FSpot.Exporters.GalleryExport.GalleryExport" />
 	</Extension>
 </Addin>
diff --git a/src/Extensions/Exporters/GalleryExport/GalleryExport.glade b/src/Extensions/Exporters/FSpot.Exporters.GalleryExport/Resources/GalleryExport.glade
similarity index 100%
rename from src/Extensions/Exporters/GalleryExport/GalleryExport.glade
rename to src/Extensions/Exporters/FSpot.Exporters.GalleryExport/Resources/GalleryExport.glade
diff --git a/src/Extensions/Exporters/PicasaWebExport/google-sharp/.gitignore b/src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/.gitignore
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/google-sharp/.gitignore
rename to src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/.gitignore
diff --git a/src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/FSpot.Exporters.PicasaWebExport.csproj b/src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/FSpot.Exporters.PicasaWebExport.csproj
new file mode 100644
index 0000000..7870ba8
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/FSpot.Exporters.PicasaWebExport.csproj
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{0735C3A2-17C1-4C8B-9653-3854AFD64D6D}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>FSpot.Exporters.PicasaWebExport</RootNamespace>
+    <AssemblyName>FSpot.Exporters.PicasaWebExport</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <ReleaseVersion>0.7.2</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="FSpot.Exporters.PicasaWebExport\PicasaWebExport.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Resources\PicasaWebExport.addin.xml">
+      <LogicalName>PicasaWebExport.addin.xml</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\PicasaWebExport.glade">
+      <LogicalName>PicasaWebExport.glade</LogicalName>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ProjectExtensions>
+    <MonoDevelop>
+      <Properties>
+        <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="true" RelativeMakefileName="Makefile.am" BuildTargetName="" CleanTargetName="" IsAutotoolsProject="true" RelativeConfigureInPath="../../../..">
+          <BuildFilesVar Sync="true" Name="SOURCES" />
+          <DeployFilesVar />
+          <ResourcesVar Sync="true" Name="RESOURCES" />
+          <OthersVar />
+          <GacRefVar />
+          <AsmRefVar />
+          <ProjectRefVar />
+        </MonoDevelop.Autotools.MakefileInfo>
+      </Properties>
+    </MonoDevelop>
+  </ProjectExtensions>
+  <ItemGroup>
+    <Folder Include="FSpot.Exporters.PicasaWebExport\" />
+    <Folder Include="Resources\" />
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="Mono.Posix" />
+    <Reference Include="Gnome.Keyring, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1a73e1bde00c9b66">
+      <Package>gnome-keyring-sharp-1.0</Package>
+    </Reference>
+    <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="glade-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="gtk-sharp-beans, Version=2.14.0.0, Culture=neutral, PublicKeyToken=97a95fb57b03c03a">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\lib\gtk-sharp-beans\gtk-sharp-beans.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena\Hyena.csproj">
+      <Project>{95374549-9553-4C1E-9D89-667755F90E12}</Project>
+      <Name>Hyena</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena.Gui\Hyena.Gui.csproj">
+      <Project>{C856EFD8-E812-4E61-8B76-E3583D94C233}</Project>
+      <Name>Hyena.Gui</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Core\FSpot.Core.csproj">
+      <Project>{57EDC3BC-E777-4400-B4E7-32A5D8F15A76}</Project>
+      <Name>FSpot.Core</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Clients\MainApp\MainApp.csproj">
+      <Project>{27EC05FB-0223-4B26-8157-E49AF81D0007}</Project>
+      <Name>MainApp</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\Mono.Google\Mono.Google.csproj">
+      <Project>{40C7D4EA-FB93-49FE-B18F-700A28C3E670}</Project>
+      <Name>Mono.Google</Name>
+    </ProjectReference>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/src/Extensions/Exporters/PicasaWebExport/PicasaWebExport.cs b/src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/FSpot.Exporters.PicasaWebExport/PicasaWebExport.cs
similarity index 99%
rename from src/Extensions/Exporters/PicasaWebExport/PicasaWebExport.cs
rename to src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/FSpot.Exporters.PicasaWebExport/PicasaWebExport.cs
index 9c7a029..01e8d2c 100644
--- a/src/Extensions/Exporters/PicasaWebExport/PicasaWebExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/FSpot.Exporters.PicasaWebExport/PicasaWebExport.cs
@@ -31,7 +31,7 @@ using Gnome.Keyring;
 using Mono.Google;
 using Mono.Google.Picasa;
 
-namespace FSpotGoogleExport {
+namespace FSpot.Exporters.PicasaWebExport {
 	public class GoogleAccount {
 
 		private string username;
diff --git a/src/Extensions/Exporters/PicasaWebExport/Makefile.am b/src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/Makefile.am
similarity index 54%
rename from src/Extensions/Exporters/PicasaWebExport/Makefile.am
rename to src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/Makefile.am
index dd801bc..18c5f96 100644
--- a/src/Extensions/Exporters/PicasaWebExport/Makefile.am
+++ b/src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/Makefile.am
@@ -3,13 +3,10 @@ TARGET = library
 LINK = $(REF_FSPOT_EXTENSION_PICASAWEBEXPORT)
 INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
 
-SOURCES = PicasaWebExport.cs
+SOURCES = FSpot.Exporters.PicasaWebExport/PicasaWebExport.cs
 
-RESOURCES = \
-	PicasaWebExport.addin.xml \
-	PicasaWebExport.glade
-
-SUBDIRS = \
-	google-sharp
+RESOURCES =  \
+	Resources/PicasaWebExport.addin.xml \
+	Resources/PicasaWebExport.glade
 
 include $(top_srcdir)/build/build.mk
diff --git a/src/Extensions/Exporters/PicasaWebExport/PicasaWebExport.addin.xml b/src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/Resources/PicasaWebExport.addin.xml
similarity index 89%
rename from src/Extensions/Exporters/PicasaWebExport/PicasaWebExport.addin.xml
rename to src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/Resources/PicasaWebExport.addin.xml
index 880cedf..e1111d2 100644
--- a/src/Extensions/Exporters/PicasaWebExport/PicasaWebExport.addin.xml
+++ b/src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/Resources/PicasaWebExport.addin.xml
@@ -12,6 +12,6 @@
 	</Dependencies>
 
 	<Extension path = "/FSpot/Menus/Exports">
-		<ExportMenuItem id="PicasaWeb" _label = "_PicasaWeb..." class = "FSpotGoogleExport.GoogleExport" />
+		<ExportMenuItem id="PicasaWeb" _label = "_PicasaWeb..." class = "FSpot.Exporters.PicasaWebExport.GoogleExport" />
 	</Extension>
 </Addin>
diff --git a/src/Extensions/Exporters/PicasaWebExport/PicasaWebExport.glade b/src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/Resources/PicasaWebExport.glade
similarity index 100%
rename from src/Extensions/Exporters/PicasaWebExport/PicasaWebExport.glade
rename to src/Extensions/Exporters/FSpot.Exporters.PicasaWebExport/Resources/PicasaWebExport.glade
diff --git a/src/Extensions/Exporters/SmugMugExport/.gitignore b/src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/.gitignore
similarity index 100%
rename from src/Extensions/Exporters/SmugMugExport/.gitignore
rename to src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/.gitignore
diff --git a/src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/FSpot.Exporters.SmugMugExport.csproj b/src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/FSpot.Exporters.SmugMugExport.csproj
new file mode 100644
index 0000000..98f560d
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/FSpot.Exporters.SmugMugExport.csproj
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{BE981FC8-9B41-4336-815C-ECC365AE05D4}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>FSpot.Exporters.SmugMugExport</RootNamespace>
+    <AssemblyName>FSpot.Exporters.SmugMugExport</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <ReleaseVersion>0.7.2</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="FSpot.Exporters.SmugMugExport\SmugMugExport.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Resources\SmugMugExport.addin.xml">
+      <LogicalName>SmugMugExport.addin.xml</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\SmugMugExport.glade">
+      <LogicalName>SmugMugExport.glade</LogicalName>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ProjectExtensions>
+    <MonoDevelop>
+      <Properties>
+        <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="true" RelativeMakefileName="Makefile.am" BuildTargetName="" CleanTargetName="" IsAutotoolsProject="true" RelativeConfigureInPath="../../../..">
+          <BuildFilesVar Sync="true" Name="SOURCES" />
+          <DeployFilesVar />
+          <ResourcesVar Sync="true" Name="RESOURCES" />
+          <OthersVar />
+          <GacRefVar />
+          <AsmRefVar />
+          <ProjectRefVar />
+        </MonoDevelop.Autotools.MakefileInfo>
+      </Properties>
+    </MonoDevelop>
+  </ProjectExtensions>
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\..\lib\SmugMugNet\SmugMugNet.csproj">
+      <Project>{FFC3D9B1-B19A-44D8-8AA2-96DDE911320E}</Project>
+      <Name>SmugMugNet</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Clients\MainApp\MainApp.csproj">
+      <Project>{27EC05FB-0223-4B26-8157-E49AF81D0007}</Project>
+      <Name>MainApp</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena\Hyena.csproj">
+      <Project>{95374549-9553-4C1E-9D89-667755F90E12}</Project>
+      <Name>Hyena</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Core\FSpot.Core.csproj">
+      <Project>{57EDC3BC-E777-4400-B4E7-32A5D8F15A76}</Project>
+      <Name>FSpot.Core</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="Gnome.Keyring, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1a73e1bde00c9b66">
+      <Package>gnome-keyring-sharp-1.0</Package>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="Mono.Posix" />
+    <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="glade-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="gtk-sharp-beans, Version=2.14.0.0, Culture=neutral, PublicKeyToken=97a95fb57b03c03a">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\lib\gtk-sharp-beans\gtk-sharp-beans.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="FSpot.Exporters.SmugMugExport\" />
+    <Folder Include="Resources\" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/src/Extensions/Exporters/SmugMugExport/SmugMugExport.cs b/src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/FSpot.Exporters.SmugMugExport/SmugMugExport.cs
similarity index 99%
rename from src/Extensions/Exporters/SmugMugExport/SmugMugExport.cs
rename to src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/FSpot.Exporters.SmugMugExport/SmugMugExport.cs
index b0277d8..612085c 100644
--- a/src/Extensions/Exporters/SmugMugExport/SmugMugExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/FSpot.Exporters.SmugMugExport/SmugMugExport.cs
@@ -30,7 +30,7 @@ using FSpot.UI.Dialog;
 using Gnome.Keyring;
 using SmugMugNet;
 
-namespace FSpotSmugMugExport {
+namespace FSpot.Exporters.SmugMugExport {
 	public class SmugMugAccount {
 		private string username;
 		private string password;
diff --git a/src/Extensions/Exporters/SmugMugExport/Makefile.am b/src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/Makefile.am
similarity index 56%
rename from src/Extensions/Exporters/SmugMugExport/Makefile.am
rename to src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/Makefile.am
index d0b4fea..e09e399 100644
--- a/src/Extensions/Exporters/SmugMugExport/Makefile.am
+++ b/src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/Makefile.am
@@ -3,13 +3,10 @@ TARGET = library
 LINK = $(REF_FSPOT_EXTENSION_SMUGMUGEXPORT)
 INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
 
-SOURCES = SmugMugExport.cs
+SOURCES = FSpot.Exporters.SmugMugExport/SmugMugExport.cs
 
-RESOURCES = \
-	SmugMugExport.addin.xml \
-	SmugMugExport.glade
-
-SUBDIRS = \
-	SmugMugNet
+RESOURCES =  \
+	Resources/SmugMugExport.addin.xml \
+	Resources/SmugMugExport.glade
 
 include $(top_srcdir)/build/build.mk
diff --git a/src/Extensions/Exporters/SmugMugExport/SmugMugExport.addin.xml b/src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/Resources/SmugMugExport.addin.xml
similarity index 90%
rename from src/Extensions/Exporters/SmugMugExport/SmugMugExport.addin.xml
rename to src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/Resources/SmugMugExport.addin.xml
index 3b624d9..bfce7e8 100644
--- a/src/Extensions/Exporters/SmugMugExport/SmugMugExport.addin.xml
+++ b/src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/Resources/SmugMugExport.addin.xml
@@ -12,6 +12,6 @@
 	</Dependencies>
 
 	<Extension path = "/FSpot/Menus/Exports">
-		<ExportMenuItem id="SmugMug" _label = "_SmugMug..." class = "FSpotSmugMugExport.SmugMugExport" />
+		<ExportMenuItem id="SmugMug" _label = "_SmugMug..." class = "FSpot.Exporters.SmugMugExport.SmugMugExport" />
 	</Extension>
 </Addin>
diff --git a/src/Extensions/Exporters/SmugMugExport/SmugMugExport.glade b/src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/Resources/SmugMugExport.glade
similarity index 100%
rename from src/Extensions/Exporters/SmugMugExport/SmugMugExport.glade
rename to src/Extensions/Exporters/FSpot.Exporters.SmugMugExport/Resources/SmugMugExport.glade
diff --git a/src/Extensions/Exporters/TabbloExport/.gitignore b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/.gitignore
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/.gitignore
rename to src/Extensions/Exporters/FSpot.Exporters.TabbloExport/.gitignore
diff --git a/src/Extensions/Exporters/TabbloExport/AssemblyInfo.cs b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/AssemblyInfo.cs
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/AssemblyInfo.cs
rename to src/Extensions/Exporters/FSpot.Exporters.TabbloExport/AssemblyInfo.cs
diff --git a/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport.csproj b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport.csproj
new file mode 100644
index 0000000..faaa1ca
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport.csproj
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{414E9813-E0A8-4BD4-8694-485F528518F5}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>FSpot.Exporters.TabbloExport</RootNamespace>
+    <AssemblyName>FSpot.Exporters.TabbloExport</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <ReleaseVersion>0.7.2</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="FSpot.Exporters.TabbloExport\ApplicationCentricCertificatePolicy.cs" />
+    <Compile Include="FSpot.Exporters.TabbloExport\BlindTrustCertificatePolicy.cs" />
+    <Compile Include="FSpot.Exporters.TabbloExport\FSpotTraceListener.cs" />
+    <Compile Include="FSpot.Exporters.TabbloExport\FSpotUploadProgress.cs" />
+    <Compile Include="FSpot.Exporters.TabbloExport\TabbloExport.cs" />
+    <Compile Include="FSpot.Exporters.TabbloExport\TabbloExportModel.cs" />
+    <Compile Include="FSpot.Exporters.TabbloExport\TabbloExportView.cs" />
+    <Compile Include="FSpot.Exporters.TabbloExport\UserDecisionCertificatePolicy.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Resources\TabbloExport.addin.xml">
+      <LogicalName>TabbloExport.addin.xml</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\ui\TabbloExport.ui">
+      <LogicalName>TabbloExport.ui</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\ui\TrustError.ui">
+      <LogicalName>TrustError.ui</LogicalName>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ProjectExtensions>
+    <MonoDevelop>
+      <Properties>
+        <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="true" RelativeMakefileName="Makefile.am" BuildTargetName="" CleanTargetName="" IsAutotoolsProject="true" RelativeConfigureInPath="../../../..">
+          <BuildFilesVar Sync="true" Name="SOURCES" />
+          <DeployFilesVar />
+          <ResourcesVar Sync="true" Name="RESOURCES" />
+          <OthersVar />
+          <GacRefVar />
+          <AsmRefVar />
+          <ProjectRefVar />
+        </MonoDevelop.Autotools.MakefileInfo>
+      </Properties>
+    </MonoDevelop>
+  </ProjectExtensions>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="Mono.Posix" />
+    <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="gtk-sharp-beans, Version=2.14.0.0, Culture=neutral, PublicKeyToken=97a95fb57b03c03a">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\lib\gtk-sharp-beans\gtk-sharp-beans.dll</HintPath>
+    </Reference>
+    <Reference Include="gio-sharp, Version=2.14.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\..\..\..\lib\gio-sharp\gio\gio-sharp.dll</HintPath>
+    </Reference>
+    <Reference Include="Gnome.Keyring, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1a73e1bde00c9b66">
+      <Package>gnome-keyring-sharp-1.0</Package>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena\Hyena.csproj">
+      <Project>{95374549-9553-4C1E-9D89-667755F90E12}</Project>
+      <Name>Hyena</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\Mono.Tabblo\Mono.Tabblo.csproj">
+      <Project>{B5CDF05C-278A-40AA-A587-B27A00BD9135}</Project>
+      <Name>Mono.Tabblo</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Clients\MainApp\MainApp.csproj">
+      <Project>{27EC05FB-0223-4B26-8157-E49AF81D0007}</Project>
+      <Name>MainApp</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Utils\FSpot.Utils.csproj">
+      <Project>{CE160879-1BF0-4711-A18F-FDA2772900FA}</Project>
+      <Name>FSpot.Utils</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Core\FSpot.Core.csproj">
+      <Project>{57EDC3BC-E777-4400-B4E7-32A5D8F15A76}</Project>
+      <Name>FSpot.Core</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="FSpot.Exporters.TabbloExport\" />
+    <Folder Include="Resources\" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/src/Extensions/Exporters/TabbloExport/ApplicationCentricCertificatePolicy.cs b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/ApplicationCentricCertificatePolicy.cs
similarity index 99%
rename from src/Extensions/Exporters/TabbloExport/ApplicationCentricCertificatePolicy.cs
rename to src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/ApplicationCentricCertificatePolicy.cs
index ef100d7..3822a40 100644
--- a/src/Extensions/Exporters/TabbloExport/ApplicationCentricCertificatePolicy.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/ApplicationCentricCertificatePolicy.cs
@@ -39,7 +39,7 @@ using System.Security.Cryptography.X509Certificates;
 
 using Hyena;
 
-namespace FSpotTabbloExport {
+namespace FSpot.Exporters.TabbloExport {
 
 	class ApplicationCentricCertificatePolicy : ICertificatePolicy {
 
diff --git a/src/Extensions/Exporters/TabbloExport/BlindTrustCertificatePolicy.cs b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/BlindTrustCertificatePolicy.cs
similarity index 97%
rename from src/Extensions/Exporters/TabbloExport/BlindTrustCertificatePolicy.cs
rename to src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/BlindTrustCertificatePolicy.cs
index 3046d15..9f2cce4 100644
--- a/src/Extensions/Exporters/TabbloExport/BlindTrustCertificatePolicy.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/BlindTrustCertificatePolicy.cs
@@ -32,7 +32,7 @@ using System.Security.Cryptography.X509Certificates;
 
 using Hyena;
 
-namespace FSpotTabbloExport {
+namespace FSpot.Exporters.TabbloExport {
 	class BlindTrustCertificatePolicy : ICertificatePolicy {
 		public bool CheckValidationResult (ServicePoint service_point,
 		                                   X509Certificate certificate,
diff --git a/src/Extensions/Exporters/TabbloExport/FSpotTraceListener.cs b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/FSpotTraceListener.cs
similarity index 97%
rename from src/Extensions/Exporters/TabbloExport/FSpotTraceListener.cs
rename to src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/FSpotTraceListener.cs
index a7484c1..57b0a39 100644
--- a/src/Extensions/Exporters/TabbloExport/FSpotTraceListener.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/FSpotTraceListener.cs
@@ -29,7 +29,7 @@
 
 using Hyena;
 
-namespace FSpotTabbloExport {
+namespace FSpot.Exporters.TabbloExport {
 
 	class FSpotTraceListener : System.Diagnostics.TraceListener {
 
diff --git a/src/Extensions/Exporters/TabbloExport/FSpotUploadProgress.cs b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/FSpotUploadProgress.cs
similarity index 98%
rename from src/Extensions/Exporters/TabbloExport/FSpotUploadProgress.cs
rename to src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/FSpotUploadProgress.cs
index 669ecde..ed8c791 100644
--- a/src/Extensions/Exporters/TabbloExport/FSpotUploadProgress.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/FSpotUploadProgress.cs
@@ -33,7 +33,7 @@ using System;
 using FSpot.UI.Dialog;
 using FSpot.Utils;
 
-namespace FSpotTabbloExport {
+namespace FSpot.Exporters.TabbloExport {
 
 	class FSpotUploadProgress : TotalUploadProgress	{
 
diff --git a/src/Extensions/Exporters/TabbloExport/TabbloExport.cs b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/TabbloExport.cs
similarity index 99%
rename from src/Extensions/Exporters/TabbloExport/TabbloExport.cs
rename to src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/TabbloExport.cs
index aad9ee7..147825c 100644
--- a/src/Extensions/Exporters/TabbloExport/TabbloExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/TabbloExport.cs
@@ -41,7 +41,7 @@ using FSpot;
 using FSpot.Core;
 using FSpot.UI.Dialog;
 
-namespace FSpotTabbloExport {
+namespace FSpot.Exporters.TabbloExport {
 
 	public class TabbloExport : FSpot.Extensions.IExporter {
 
diff --git a/src/Extensions/Exporters/TabbloExport/TabbloExportModel.cs b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/TabbloExportModel.cs
similarity index 99%
rename from src/Extensions/Exporters/TabbloExport/TabbloExportModel.cs
rename to src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/TabbloExportModel.cs
index 54ad8ce..201b277 100644
--- a/src/Extensions/Exporters/TabbloExport/TabbloExportModel.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/TabbloExportModel.cs
@@ -38,7 +38,7 @@ using System.Diagnostics;
 
 using FSpot.Core;
 
-namespace FSpotTabbloExport {
+namespace FSpot.Exporters.TabbloExport {
 
 	class TabbloExportModel : Mono.Tabblo.IPreferences {
 
diff --git a/src/Extensions/Exporters/TabbloExport/TabbloExportView.cs b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/TabbloExportView.cs
similarity index 98%
rename from src/Extensions/Exporters/TabbloExport/TabbloExportView.cs
rename to src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/TabbloExportView.cs
index c105351..b51ed48 100644
--- a/src/Extensions/Exporters/TabbloExport/TabbloExportView.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/TabbloExportView.cs
@@ -33,7 +33,7 @@ using System.Reflection;
 
 using FSpot.Core;
 
-namespace FSpotTabbloExport {
+namespace FSpot.Exporters.TabbloExport {
 
 
 	class TabbloExportView : FSpot.UI.Dialog.BuilderDialog {
diff --git a/src/Extensions/Exporters/TabbloExport/UserDecisionCertificatePolicy.cs b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/UserDecisionCertificatePolicy.cs
similarity index 96%
rename from src/Extensions/Exporters/TabbloExport/UserDecisionCertificatePolicy.cs
rename to src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/UserDecisionCertificatePolicy.cs
index e5ea72a..963a3a9 100644
--- a/src/Extensions/Exporters/TabbloExport/UserDecisionCertificatePolicy.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/FSpot.Exporters.TabbloExport/UserDecisionCertificatePolicy.cs
@@ -36,7 +36,7 @@ using System.Threading;
 
 using Hyena;
 
-namespace FSpotTabbloExport {
+namespace FSpot.Exporters.TabbloExport {
 
 	class UserDecisionCertificatePolicy
 			: ApplicationCentricCertificatePolicy {
@@ -48,7 +48,6 @@ namespace FSpotTabbloExport {
 		[GtkBeans.Builder.Object] Gtk.RadioButton once_radiobutton;
 		[GtkBeans.Builder.Object] Gtk.RadioButton always_radiobutton;
 
-		private X509Certificate certificate;
 		private WebRequest request;
 		private Decision decision;
 
@@ -60,7 +59,6 @@ namespace FSpotTabbloExport {
 				X509Certificate certificate,
 				WebRequest request)
 		{
-			this.certificate = certificate;
 			this.request = request;
 
 			lock (decision_lock) {
diff --git a/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/Makefile.am b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/Makefile.am
new file mode 100644
index 0000000..cd63297
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/Makefile.am
@@ -0,0 +1,23 @@
+ASSEMBLY = FSpot.Exporters.TabbloExport
+TARGET = library
+LINK = $(REF_FSPOT_EXTENSION_TABBLOEXPORT)
+INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
+
+SOURCES =  \
+	FSpot.Exporters.TabbloExport/ApplicationCentricCertificatePolicy.cs \
+	FSpot.Exporters.TabbloExport/BlindTrustCertificatePolicy.cs \
+	FSpot.Exporters.TabbloExport/FSpotTraceListener.cs \
+	FSpot.Exporters.TabbloExport/FSpotUploadProgress.cs \
+	FSpot.Exporters.TabbloExport/TabbloExport.cs \
+	FSpot.Exporters.TabbloExport/TabbloExportModel.cs \
+	FSpot.Exporters.TabbloExport/TabbloExportView.cs \
+	FSpot.Exporters.TabbloExport/UserDecisionCertificatePolicy.cs
+
+RESOURCES =  \
+	Resources/TabbloExport.addin.xml \
+	Resources/ui/TabbloExport.ui \
+	Resources/ui/TrustError.ui
+
+ASSEMBLY_INFO_SOURCE = AssemblyInfo.cs
+
+include $(top_srcdir)/build/build.mk
diff --git a/src/Extensions/Exporters/TabbloExport/TabbloExport.addin.xml b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/Resources/TabbloExport.addin.xml
similarity index 90%
rename from src/Extensions/Exporters/TabbloExport/TabbloExport.addin.xml
rename to src/Extensions/Exporters/FSpot.Exporters.TabbloExport/Resources/TabbloExport.addin.xml
index 04e3307..8278f77 100644
--- a/src/Extensions/Exporters/TabbloExport/TabbloExport.addin.xml
+++ b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/Resources/TabbloExport.addin.xml
@@ -11,6 +11,6 @@
 	</Dependencies>
 
 	<Extension path = "/FSpot/Menus/Exports">
-		<ExportMenuItem id="Tabblo" _label = "_Tabblo..." class = "FSpotTabbloExport.TabbloExport" />
+		<ExportMenuItem id="Tabblo" _label = "_Tabblo..." class = "FSpot.Exporters.TabbloExport.TabbloExport" />
 	</Extension>
 </Addin>
diff --git a/src/Extensions/Exporters/TabbloExport/ui/TabbloExport.ui b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/Resources/ui/TabbloExport.ui
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/ui/TabbloExport.ui
rename to src/Extensions/Exporters/FSpot.Exporters.TabbloExport/Resources/ui/TabbloExport.ui
diff --git a/src/Extensions/Exporters/TabbloExport/ui/TrustError.ui b/src/Extensions/Exporters/FSpot.Exporters.TabbloExport/Resources/ui/TrustError.ui
similarity index 100%
rename from src/Extensions/Exporters/TabbloExport/ui/TrustError.ui
rename to src/Extensions/Exporters/FSpot.Exporters.TabbloExport/Resources/ui/TrustError.ui
diff --git a/src/Extensions/Exporters/ZipExport/.gitignore b/src/Extensions/Exporters/FSpot.Exporters.ZipExport/.gitignore
similarity index 100%
rename from src/Extensions/Exporters/ZipExport/.gitignore
rename to src/Extensions/Exporters/FSpot.Exporters.ZipExport/.gitignore
diff --git a/src/Extensions/Exporters/FSpot.Exporters.ZipExport/FSpot.Exporters.ZipExport.csproj b/src/Extensions/Exporters/FSpot.Exporters.ZipExport/FSpot.Exporters.ZipExport.csproj
new file mode 100644
index 0000000..0a6d8d6
--- /dev/null
+++ b/src/Extensions/Exporters/FSpot.Exporters.ZipExport/FSpot.Exporters.ZipExport.csproj
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.21022</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{4C9355A7-1797-4708-A1F2-FBCDB782D04D}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>FSpot.Exporters.ZipExport</RootNamespace>
+    <AssemblyName>FSpot.Exporters.ZipExport</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <ReleaseVersion>0.7.2</ReleaseVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <DefineConstants>DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>none</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>..\..\..\..\bin</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+  </PropertyGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <ItemGroup>
+    <Compile Include="FSpot.Exporters.ZipExport\ZipExport.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="Resources\ZipExport.addin.xml">
+      <LogicalName>ZipExport.addin.xml</LogicalName>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Resources\ZipExport.glade">
+      <LogicalName>ZipExport.glade</LogicalName>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ProjectExtensions>
+    <MonoDevelop>
+      <Properties>
+        <MonoDevelop.Autotools.MakefileInfo IntegrationEnabled="true" RelativeMakefileName="Makefile.am" BuildTargetName="" CleanTargetName="" IsAutotoolsProject="true" RelativeConfigureInPath="../../../..">
+          <BuildFilesVar Sync="true" Name="SOURCES" />
+          <DeployFilesVar />
+          <ResourcesVar Sync="true" Name="RESOURCES" />
+          <OthersVar />
+          <GacRefVar />
+          <AsmRefVar />
+          <ProjectRefVar />
+        </MonoDevelop.Autotools.MakefileInfo>
+      </Properties>
+    </MonoDevelop>
+  </ProjectExtensions>
+  <ItemGroup>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena\Hyena.csproj">
+      <Project>{95374549-9553-4C1E-9D89-667755F90E12}</Project>
+      <Name>Hyena</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\..\lib\Hyena\Hyena.Gui\Hyena.Gui.csproj">
+      <Project>{C856EFD8-E812-4E61-8B76-E3583D94C233}</Project>
+      <Name>Hyena.Gui</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Clients\MainApp\MainApp.csproj">
+      <Project>{27EC05FB-0223-4B26-8157-E49AF81D0007}</Project>
+      <Name>MainApp</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\..\Core\FSpot.Core\FSpot.Core.csproj">
+      <Project>{57EDC3BC-E777-4400-B4E7-32A5D8F15A76}</Project>
+      <Name>FSpot.Core</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="Mono.Posix" />
+    <Reference Include="ICSharpCode.SharpZipLib" />
+    <Reference Include="glade-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+    <Reference Include="System" />
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="FSpot.Exporters.ZipExport\" />
+    <Folder Include="Resources\" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/src/Extensions/Exporters/ZipExport/ZipExport.cs b/src/Extensions/Exporters/FSpot.Exporters.ZipExport/FSpot.Exporters.ZipExport/ZipExport.cs
similarity index 99%
rename from src/Extensions/Exporters/ZipExport/ZipExport.cs
rename to src/Extensions/Exporters/FSpot.Exporters.ZipExport/FSpot.Exporters.ZipExport/ZipExport.cs
index 6b3071e..12d6cc7 100644
--- a/src/Extensions/Exporters/ZipExport/ZipExport.cs
+++ b/src/Extensions/Exporters/FSpot.Exporters.ZipExport/FSpot.Exporters.ZipExport/ZipExport.cs
@@ -28,7 +28,7 @@ using ICSharpCode.SharpZipLib.Checksums;
 using ICSharpCode.SharpZipLib.Zip;
 using ICSharpCode.SharpZipLib.GZip;
 
-namespace ZipExport {
+namespace FSpot.Exporters.ZipExport {
 	public class Zip : IExporter {
 
 		[Glade.Widget] Gtk.Dialog zipdiag;
diff --git a/src/Extensions/Exporters/ZipExport/Makefile.am b/src/Extensions/Exporters/FSpot.Exporters.ZipExport/Makefile.am
similarity index 58%
rename from src/Extensions/Exporters/ZipExport/Makefile.am
rename to src/Extensions/Exporters/FSpot.Exporters.ZipExport/Makefile.am
index 4831935..3e57cbe 100644
--- a/src/Extensions/Exporters/ZipExport/Makefile.am
+++ b/src/Extensions/Exporters/FSpot.Exporters.ZipExport/Makefile.am
@@ -3,10 +3,10 @@ TARGET = library
 LINK = $(REF_FSPOT_EXTENSION_ZIPEXPORT)
 INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
 
-SOURCES = ZipExport.cs
+SOURCES = FSpot.Exporters.ZipExport/ZipExport.cs
 
-RESOURCES = \
-	ZipExport.addin.xml \
-	ZipExport.glade
+RESOURCES =  \
+	Resources/ZipExport.addin.xml \
+	Resources/ZipExport.glade
 
 include $(top_srcdir)/build/build.mk
diff --git a/src/Extensions/Exporters/ZipExport/ZipExport.addin.xml b/src/Extensions/Exporters/FSpot.Exporters.ZipExport/Resources/ZipExport.addin.xml
similarity index 90%
rename from src/Extensions/Exporters/ZipExport/ZipExport.addin.xml
rename to src/Extensions/Exporters/FSpot.Exporters.ZipExport/Resources/ZipExport.addin.xml
index e1bdb50..b9bedfd 100644
--- a/src/Extensions/Exporters/ZipExport/ZipExport.addin.xml
+++ b/src/Extensions/Exporters/FSpot.Exporters.ZipExport/Resources/ZipExport.addin.xml
@@ -11,6 +11,6 @@
 		<Addin id="Core" version="0.7"/>
 	</Dependencies>
 	<Extension path = "/FSpot/Menus/Exports">
-		<ExportMenuItem id="ZipExport" _label = "Compressed fil_e..." class = "ZipExport.Zip" />
+		<ExportMenuItem id="ZipExport" _label = "Compressed fil_e..." class = "FSpot.Exporters.ZipExport.Zip" />
 	</Extension>
 </Addin>
diff --git a/src/Extensions/Exporters/ZipExport/ZipExport.glade b/src/Extensions/Exporters/FSpot.Exporters.ZipExport/Resources/ZipExport.glade
similarity index 100%
rename from src/Extensions/Exporters/ZipExport/ZipExport.glade
rename to src/Extensions/Exporters/FSpot.Exporters.ZipExport/Resources/ZipExport.glade
diff --git a/src/Extensions/Exporters/Makefile.am b/src/Extensions/Exporters/Makefile.am
index d68e439..5dcb952 100644
--- a/src/Extensions/Exporters/Makefile.am
+++ b/src/Extensions/Exporters/Makefile.am
@@ -1,10 +1,10 @@
 SUBDIRS = 			\
-	CDExport		\
-	FacebookExport		\
-	FlickrExport		\
-	FolderExport		\
-	GalleryExport		\
-	PicasaWebExport		\
-	SmugMugExport		\
-	TabbloExport		\
-	ZipExport
+	FSpot.Exporters.CDExport		\
+	FSpot.Exporters.FacebookExport		\
+	FSpot.Exporters.FlickrExport		\
+	FSpot.Exporters.FolderExport		\
+	FSpot.Exporters.GalleryExport		\
+	FSpot.Exporters.PicasaWebExport		\
+	FSpot.Exporters.SmugMugExport		\
+	FSpot.Exporters.TabbloExport		\
+	FSpot.Exporters.ZipExport



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]