MSBuild ClickOnce app: FTP Upload files after build












0














I am using MS build to publish my ClickOnce app, in Visual Studio 2017 developer command line to a remote ftp site.
How do I initiate the FTP file upload that starts in Visual Studio after build? This is my command line, which builds the project:



msbuild  /target:publish -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsIICIIC.UI.vbproj"









share|improve this question





























    0














    I am using MS build to publish my ClickOnce app, in Visual Studio 2017 developer command line to a remote ftp site.
    How do I initiate the FTP file upload that starts in Visual Studio after build? This is my command line, which builds the project:



    msbuild  /target:publish -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsIICIIC.UI.vbproj"









    share|improve this question



























      0












      0








      0







      I am using MS build to publish my ClickOnce app, in Visual Studio 2017 developer command line to a remote ftp site.
      How do I initiate the FTP file upload that starts in Visual Studio after build? This is my command line, which builds the project:



      msbuild  /target:publish -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsIICIIC.UI.vbproj"









      share|improve this question















      I am using MS build to publish my ClickOnce app, in Visual Studio 2017 developer command line to a remote ftp site.
      How do I initiate the FTP file upload that starts in Visual Studio after build? This is my command line, which builds the project:



      msbuild  /target:publish -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsIICIIC.UI.vbproj"






      vb.net visual-studio msbuild






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 21 at 5:21

























      asked Nov 18 at 15:03









      chrisl08

      1,3091818




      1,3091818
























          2 Answers
          2






          active

          oldest

          votes


















          1















          MSBuild ClickOnce app: Upload files after build




          You can add a copy task into your project file to upload files after build:



          To accomplish this, unload your project. Then at the very end of the </project>, just before the end-tag, place below scripts:



          <ItemGroup>
          <UploadFiles Include="ThePathOfYourUploadFiles*.*"/>
          </ItemGroup>

          <Target Name="AfterBuild">
          <Copy
          SourceFiles="@(UploadFiles)"
          DestinationFolder="PathWhereYouWantTouploadYourUploadFiles"
          />
          </Target>


          With this target, Visual Studio/MSBuild will upload the files after build.



          Hope this helps.






          share|improve this answer

















          • 1




            Thanks for the answer, but this does not initiate an ftp upload. This merely copies the file to a destination. What I was looking for is to start the ftp upload to a remote site. I have updated the question to reflect this. Moreover, it is not best practice to deploy on AfterBuild.
            – chrisl08
            Nov 21 at 5:19



















          1














          There are 2 problems with command line Click Once deployment: (1) Auto Incrementing option from the publish property page of a project is not honored from the command line, and (2) the subject of the question, starting the FTP upload to the remote site.



          Solution (with Visual Studio 2017 Developer Command Prompt v15.7.3)




          1. Download community ms build tasks from here: https://github.com/loresoft/msbuildtasks

          2. Unload the project and open with notepad++ or your editor of choice and import the community ms build tasks. Follow the instructions on their github page.

          3. Add file ProjectName.version.txt with just one line with the version information of your project. For example:


          1.2.78.1341



          The numbers correspond to {Major}.{Minor}.{Build}.{ApplicationRevision}





          1. Add the following target to the bottom of the project, which uses the Version and FileUpdate community tasks:





               <Target Name="beforePublishCmd">

            <Message Text="revision before: 3.0.0.$(ApplicationRevision)"/>
            <Version VersionFile="ProjectName.version.txt" BuildType="Automatic" Major="3" Minor="0" Build="0" RevisionType="Increment">
            <Output TaskParameter="Major" PropertyName="Major" />
            <Output TaskParameter="Minor" PropertyName="Minor" />
            <Output TaskParameter="Build" PropertyName="Build" />
            <Output TaskParameter="Revision" PropertyName="ApplicationRevision" />
            </Version>
            <Message Text="revision after: 3.0.0.$(ApplicationRevision)"/>
            <FileUpdate Files="ProjectName.vbproj"
            Regex="&lt;ApplicationRevision&gt;(d+)"
            ReplacementText="&lt;ApplicationRevision&gt;$(ApplicationRevision)" />
            </Target>





          2. Call the above target from the command line BEFORE calling the publish target, like so:



            msbuild /target:beforePublishCmd -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsProjectName.vbproj"




          3. Add an "afterPublish" target, which uses the FtpUploadDirectoryContent community task. This target is automatically called after the publish target finishes.





             <Target Name="afterPublish">

            <PropertyGroup>
            <CurrentDate>$([System.DateTime]::Now.ToString(yyyy MMM dd HH:mm:ss))</CurrentDate>
            </PropertyGroup>

            <FtpUploadDirectoryContent
            ServerHost="projectname.org"
            Username="*****"
            Password="*****"
            LocalDirectory=".binReleaseapp.publish"
            RemoteDirectory="/"
            Recursive="true"
            />
            <Exec Command="C:Progra~1TortoiseSVNbinsvn commit .. --non-interactive --message &quot;Release 3.0.0.$(Revision) on $(CurrentDate): $(commitMessage)&quot;"/>
            </Target>






            1. Finally, call the publish target from the command line:



              msbuild /target:publish -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsProjectName.vbproj"










          share|improve this answer



















          • 1




            Great! Thanks for sharing your solution here. This can be beneficial to other community members reading this thread.
            – Leo Liu-MSFT
            Nov 21 at 9:59











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53362280%2fmsbuild-clickonce-app-ftp-upload-files-after-build%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1















          MSBuild ClickOnce app: Upload files after build




          You can add a copy task into your project file to upload files after build:



          To accomplish this, unload your project. Then at the very end of the </project>, just before the end-tag, place below scripts:



          <ItemGroup>
          <UploadFiles Include="ThePathOfYourUploadFiles*.*"/>
          </ItemGroup>

          <Target Name="AfterBuild">
          <Copy
          SourceFiles="@(UploadFiles)"
          DestinationFolder="PathWhereYouWantTouploadYourUploadFiles"
          />
          </Target>


          With this target, Visual Studio/MSBuild will upload the files after build.



          Hope this helps.






          share|improve this answer

















          • 1




            Thanks for the answer, but this does not initiate an ftp upload. This merely copies the file to a destination. What I was looking for is to start the ftp upload to a remote site. I have updated the question to reflect this. Moreover, it is not best practice to deploy on AfterBuild.
            – chrisl08
            Nov 21 at 5:19
















          1















          MSBuild ClickOnce app: Upload files after build




          You can add a copy task into your project file to upload files after build:



          To accomplish this, unload your project. Then at the very end of the </project>, just before the end-tag, place below scripts:



          <ItemGroup>
          <UploadFiles Include="ThePathOfYourUploadFiles*.*"/>
          </ItemGroup>

          <Target Name="AfterBuild">
          <Copy
          SourceFiles="@(UploadFiles)"
          DestinationFolder="PathWhereYouWantTouploadYourUploadFiles"
          />
          </Target>


          With this target, Visual Studio/MSBuild will upload the files after build.



          Hope this helps.






          share|improve this answer

















          • 1




            Thanks for the answer, but this does not initiate an ftp upload. This merely copies the file to a destination. What I was looking for is to start the ftp upload to a remote site. I have updated the question to reflect this. Moreover, it is not best practice to deploy on AfterBuild.
            – chrisl08
            Nov 21 at 5:19














          1












          1








          1







          MSBuild ClickOnce app: Upload files after build




          You can add a copy task into your project file to upload files after build:



          To accomplish this, unload your project. Then at the very end of the </project>, just before the end-tag, place below scripts:



          <ItemGroup>
          <UploadFiles Include="ThePathOfYourUploadFiles*.*"/>
          </ItemGroup>

          <Target Name="AfterBuild">
          <Copy
          SourceFiles="@(UploadFiles)"
          DestinationFolder="PathWhereYouWantTouploadYourUploadFiles"
          />
          </Target>


          With this target, Visual Studio/MSBuild will upload the files after build.



          Hope this helps.






          share|improve this answer













          MSBuild ClickOnce app: Upload files after build




          You can add a copy task into your project file to upload files after build:



          To accomplish this, unload your project. Then at the very end of the </project>, just before the end-tag, place below scripts:



          <ItemGroup>
          <UploadFiles Include="ThePathOfYourUploadFiles*.*"/>
          </ItemGroup>

          <Target Name="AfterBuild">
          <Copy
          SourceFiles="@(UploadFiles)"
          DestinationFolder="PathWhereYouWantTouploadYourUploadFiles"
          />
          </Target>


          With this target, Visual Studio/MSBuild will upload the files after build.



          Hope this helps.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 19 at 5:56









          Leo Liu-MSFT

          17.7k21832




          17.7k21832








          • 1




            Thanks for the answer, but this does not initiate an ftp upload. This merely copies the file to a destination. What I was looking for is to start the ftp upload to a remote site. I have updated the question to reflect this. Moreover, it is not best practice to deploy on AfterBuild.
            – chrisl08
            Nov 21 at 5:19














          • 1




            Thanks for the answer, but this does not initiate an ftp upload. This merely copies the file to a destination. What I was looking for is to start the ftp upload to a remote site. I have updated the question to reflect this. Moreover, it is not best practice to deploy on AfterBuild.
            – chrisl08
            Nov 21 at 5:19








          1




          1




          Thanks for the answer, but this does not initiate an ftp upload. This merely copies the file to a destination. What I was looking for is to start the ftp upload to a remote site. I have updated the question to reflect this. Moreover, it is not best practice to deploy on AfterBuild.
          – chrisl08
          Nov 21 at 5:19




          Thanks for the answer, but this does not initiate an ftp upload. This merely copies the file to a destination. What I was looking for is to start the ftp upload to a remote site. I have updated the question to reflect this. Moreover, it is not best practice to deploy on AfterBuild.
          – chrisl08
          Nov 21 at 5:19













          1














          There are 2 problems with command line Click Once deployment: (1) Auto Incrementing option from the publish property page of a project is not honored from the command line, and (2) the subject of the question, starting the FTP upload to the remote site.



          Solution (with Visual Studio 2017 Developer Command Prompt v15.7.3)




          1. Download community ms build tasks from here: https://github.com/loresoft/msbuildtasks

          2. Unload the project and open with notepad++ or your editor of choice and import the community ms build tasks. Follow the instructions on their github page.

          3. Add file ProjectName.version.txt with just one line with the version information of your project. For example:


          1.2.78.1341



          The numbers correspond to {Major}.{Minor}.{Build}.{ApplicationRevision}





          1. Add the following target to the bottom of the project, which uses the Version and FileUpdate community tasks:





               <Target Name="beforePublishCmd">

            <Message Text="revision before: 3.0.0.$(ApplicationRevision)"/>
            <Version VersionFile="ProjectName.version.txt" BuildType="Automatic" Major="3" Minor="0" Build="0" RevisionType="Increment">
            <Output TaskParameter="Major" PropertyName="Major" />
            <Output TaskParameter="Minor" PropertyName="Minor" />
            <Output TaskParameter="Build" PropertyName="Build" />
            <Output TaskParameter="Revision" PropertyName="ApplicationRevision" />
            </Version>
            <Message Text="revision after: 3.0.0.$(ApplicationRevision)"/>
            <FileUpdate Files="ProjectName.vbproj"
            Regex="&lt;ApplicationRevision&gt;(d+)"
            ReplacementText="&lt;ApplicationRevision&gt;$(ApplicationRevision)" />
            </Target>





          2. Call the above target from the command line BEFORE calling the publish target, like so:



            msbuild /target:beforePublishCmd -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsProjectName.vbproj"




          3. Add an "afterPublish" target, which uses the FtpUploadDirectoryContent community task. This target is automatically called after the publish target finishes.





             <Target Name="afterPublish">

            <PropertyGroup>
            <CurrentDate>$([System.DateTime]::Now.ToString(yyyy MMM dd HH:mm:ss))</CurrentDate>
            </PropertyGroup>

            <FtpUploadDirectoryContent
            ServerHost="projectname.org"
            Username="*****"
            Password="*****"
            LocalDirectory=".binReleaseapp.publish"
            RemoteDirectory="/"
            Recursive="true"
            />
            <Exec Command="C:Progra~1TortoiseSVNbinsvn commit .. --non-interactive --message &quot;Release 3.0.0.$(Revision) on $(CurrentDate): $(commitMessage)&quot;"/>
            </Target>






            1. Finally, call the publish target from the command line:



              msbuild /target:publish -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsProjectName.vbproj"










          share|improve this answer



















          • 1




            Great! Thanks for sharing your solution here. This can be beneficial to other community members reading this thread.
            – Leo Liu-MSFT
            Nov 21 at 9:59
















          1














          There are 2 problems with command line Click Once deployment: (1) Auto Incrementing option from the publish property page of a project is not honored from the command line, and (2) the subject of the question, starting the FTP upload to the remote site.



          Solution (with Visual Studio 2017 Developer Command Prompt v15.7.3)




          1. Download community ms build tasks from here: https://github.com/loresoft/msbuildtasks

          2. Unload the project and open with notepad++ or your editor of choice and import the community ms build tasks. Follow the instructions on their github page.

          3. Add file ProjectName.version.txt with just one line with the version information of your project. For example:


          1.2.78.1341



          The numbers correspond to {Major}.{Minor}.{Build}.{ApplicationRevision}





          1. Add the following target to the bottom of the project, which uses the Version and FileUpdate community tasks:





               <Target Name="beforePublishCmd">

            <Message Text="revision before: 3.0.0.$(ApplicationRevision)"/>
            <Version VersionFile="ProjectName.version.txt" BuildType="Automatic" Major="3" Minor="0" Build="0" RevisionType="Increment">
            <Output TaskParameter="Major" PropertyName="Major" />
            <Output TaskParameter="Minor" PropertyName="Minor" />
            <Output TaskParameter="Build" PropertyName="Build" />
            <Output TaskParameter="Revision" PropertyName="ApplicationRevision" />
            </Version>
            <Message Text="revision after: 3.0.0.$(ApplicationRevision)"/>
            <FileUpdate Files="ProjectName.vbproj"
            Regex="&lt;ApplicationRevision&gt;(d+)"
            ReplacementText="&lt;ApplicationRevision&gt;$(ApplicationRevision)" />
            </Target>





          2. Call the above target from the command line BEFORE calling the publish target, like so:



            msbuild /target:beforePublishCmd -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsProjectName.vbproj"




          3. Add an "afterPublish" target, which uses the FtpUploadDirectoryContent community task. This target is automatically called after the publish target finishes.





             <Target Name="afterPublish">

            <PropertyGroup>
            <CurrentDate>$([System.DateTime]::Now.ToString(yyyy MMM dd HH:mm:ss))</CurrentDate>
            </PropertyGroup>

            <FtpUploadDirectoryContent
            ServerHost="projectname.org"
            Username="*****"
            Password="*****"
            LocalDirectory=".binReleaseapp.publish"
            RemoteDirectory="/"
            Recursive="true"
            />
            <Exec Command="C:Progra~1TortoiseSVNbinsvn commit .. --non-interactive --message &quot;Release 3.0.0.$(Revision) on $(CurrentDate): $(commitMessage)&quot;"/>
            </Target>






            1. Finally, call the publish target from the command line:



              msbuild /target:publish -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsProjectName.vbproj"










          share|improve this answer



















          • 1




            Great! Thanks for sharing your solution here. This can be beneficial to other community members reading this thread.
            – Leo Liu-MSFT
            Nov 21 at 9:59














          1












          1








          1






          There are 2 problems with command line Click Once deployment: (1) Auto Incrementing option from the publish property page of a project is not honored from the command line, and (2) the subject of the question, starting the FTP upload to the remote site.



          Solution (with Visual Studio 2017 Developer Command Prompt v15.7.3)




          1. Download community ms build tasks from here: https://github.com/loresoft/msbuildtasks

          2. Unload the project and open with notepad++ or your editor of choice and import the community ms build tasks. Follow the instructions on their github page.

          3. Add file ProjectName.version.txt with just one line with the version information of your project. For example:


          1.2.78.1341



          The numbers correspond to {Major}.{Minor}.{Build}.{ApplicationRevision}





          1. Add the following target to the bottom of the project, which uses the Version and FileUpdate community tasks:





               <Target Name="beforePublishCmd">

            <Message Text="revision before: 3.0.0.$(ApplicationRevision)"/>
            <Version VersionFile="ProjectName.version.txt" BuildType="Automatic" Major="3" Minor="0" Build="0" RevisionType="Increment">
            <Output TaskParameter="Major" PropertyName="Major" />
            <Output TaskParameter="Minor" PropertyName="Minor" />
            <Output TaskParameter="Build" PropertyName="Build" />
            <Output TaskParameter="Revision" PropertyName="ApplicationRevision" />
            </Version>
            <Message Text="revision after: 3.0.0.$(ApplicationRevision)"/>
            <FileUpdate Files="ProjectName.vbproj"
            Regex="&lt;ApplicationRevision&gt;(d+)"
            ReplacementText="&lt;ApplicationRevision&gt;$(ApplicationRevision)" />
            </Target>





          2. Call the above target from the command line BEFORE calling the publish target, like so:



            msbuild /target:beforePublishCmd -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsProjectName.vbproj"




          3. Add an "afterPublish" target, which uses the FtpUploadDirectoryContent community task. This target is automatically called after the publish target finishes.





             <Target Name="afterPublish">

            <PropertyGroup>
            <CurrentDate>$([System.DateTime]::Now.ToString(yyyy MMM dd HH:mm:ss))</CurrentDate>
            </PropertyGroup>

            <FtpUploadDirectoryContent
            ServerHost="projectname.org"
            Username="*****"
            Password="*****"
            LocalDirectory=".binReleaseapp.publish"
            RemoteDirectory="/"
            Recursive="true"
            />
            <Exec Command="C:Progra~1TortoiseSVNbinsvn commit .. --non-interactive --message &quot;Release 3.0.0.$(Revision) on $(CurrentDate): $(commitMessage)&quot;"/>
            </Target>






            1. Finally, call the publish target from the command line:



              msbuild /target:publish -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsProjectName.vbproj"










          share|improve this answer














          There are 2 problems with command line Click Once deployment: (1) Auto Incrementing option from the publish property page of a project is not honored from the command line, and (2) the subject of the question, starting the FTP upload to the remote site.



          Solution (with Visual Studio 2017 Developer Command Prompt v15.7.3)




          1. Download community ms build tasks from here: https://github.com/loresoft/msbuildtasks

          2. Unload the project and open with notepad++ or your editor of choice and import the community ms build tasks. Follow the instructions on their github page.

          3. Add file ProjectName.version.txt with just one line with the version information of your project. For example:


          1.2.78.1341



          The numbers correspond to {Major}.{Minor}.{Build}.{ApplicationRevision}





          1. Add the following target to the bottom of the project, which uses the Version and FileUpdate community tasks:





               <Target Name="beforePublishCmd">

            <Message Text="revision before: 3.0.0.$(ApplicationRevision)"/>
            <Version VersionFile="ProjectName.version.txt" BuildType="Automatic" Major="3" Minor="0" Build="0" RevisionType="Increment">
            <Output TaskParameter="Major" PropertyName="Major" />
            <Output TaskParameter="Minor" PropertyName="Minor" />
            <Output TaskParameter="Build" PropertyName="Build" />
            <Output TaskParameter="Revision" PropertyName="ApplicationRevision" />
            </Version>
            <Message Text="revision after: 3.0.0.$(ApplicationRevision)"/>
            <FileUpdate Files="ProjectName.vbproj"
            Regex="&lt;ApplicationRevision&gt;(d+)"
            ReplacementText="&lt;ApplicationRevision&gt;$(ApplicationRevision)" />
            </Target>





          2. Call the above target from the command line BEFORE calling the publish target, like so:



            msbuild /target:beforePublishCmd -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsProjectName.vbproj"




          3. Add an "afterPublish" target, which uses the FtpUploadDirectoryContent community task. This target is automatically called after the publish target finishes.





             <Target Name="afterPublish">

            <PropertyGroup>
            <CurrentDate>$([System.DateTime]::Now.ToString(yyyy MMM dd HH:mm:ss))</CurrentDate>
            </PropertyGroup>

            <FtpUploadDirectoryContent
            ServerHost="projectname.org"
            Username="*****"
            Password="*****"
            LocalDirectory=".binReleaseapp.publish"
            RemoteDirectory="/"
            Recursive="true"
            />
            <Exec Command="C:Progra~1TortoiseSVNbinsvn commit .. --non-interactive --message &quot;Release 3.0.0.$(Revision) on $(CurrentDate): $(commitMessage)&quot;"/>
            </Target>






            1. Finally, call the publish target from the command line:



              msbuild /target:publish -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%VSProjectsProjectName.vbproj"











          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 23 at 7:40

























          answered Nov 21 at 5:36









          chrisl08

          1,3091818




          1,3091818








          • 1




            Great! Thanks for sharing your solution here. This can be beneficial to other community members reading this thread.
            – Leo Liu-MSFT
            Nov 21 at 9:59














          • 1




            Great! Thanks for sharing your solution here. This can be beneficial to other community members reading this thread.
            – Leo Liu-MSFT
            Nov 21 at 9:59








          1




          1




          Great! Thanks for sharing your solution here. This can be beneficial to other community members reading this thread.
          – Leo Liu-MSFT
          Nov 21 at 9:59




          Great! Thanks for sharing your solution here. This can be beneficial to other community members reading this thread.
          – Leo Liu-MSFT
          Nov 21 at 9:59


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53362280%2fmsbuild-clickonce-app-ftp-upload-files-after-build%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Contact image not getting when fetch all contact list from iPhone by CNContact

          count number of partitions of a set with n elements into k subsets

          A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks