首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSBuild ClickOnce应用程序:构建后的ClickOnce上传文件

MSBuild ClickOnce应用程序:构建后的ClickOnce上传文件
EN

Stack Overflow用户
提问于 2018-11-18 15:03:02
回答 2查看 929关注 0票数 0

我使用MS在VisualStudio2017开发人员命令行中将我的ClickOnce应用程序发布到一个远程ftp站点。如何启动生成后在Visual中启动的FTP文件上载?这是我的命令行,它构建项目:

代码语言:javascript
复制
msbuild  /target:publish -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%\VSProjects\IIC\IIC.UI.vbproj"
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-21 05:36:50

命令行部署后单击存在两个问题:(1)项目的发布属性页中的自动增量选项未从命令行中得到执行,(2)问题的主题,即启动上载到远程站点。

解决方案(使用Visual Studio 2017 Developer命令提示符v15.7.3)

  1. 从这里下载社区ms构建任务:https://github.com/loresoft/msbuildtasks
  2. 卸载项目并使用notepad++或您选择的编辑器打开,并导入社区ms构建任务。按照他们的github页面上的说明。
  3. 添加只有一行的文件ProjectName.version.txt,其中包含项目的版本信息。例如:

1.2.78.1341

这些数字对应于{Major}.{Minor}.{Build}.{ApplicationRevision}

  1. 将以下目标添加到项目的底部,使用版本和FileUpdate社区任务:
代码语言:javascript
复制
<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>
  1. 在调用发布目标之前,从命令行调用上述目标,如下所示: msbuild /target:beforePublishCmd -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%\VSProjects\ProjectName.vbproj"
  2. 添加一个"afterPublish“目标,它使用afterPublish社区任务。此目标在发布目标完成后自动调用。

$(System.DateTime::Now.ToString(yyyy :mm:ss))

/target:publish -property:Configuration=Release /p:PlatformTarget=x86 "%USERPROFILE%\VSProjects\ProjectName.vbproj“

票数 1
EN

Stack Overflow用户

发布于 2018-11-19 05:56:55

MSBuild ClickOnce应用程序:生成后上传文件

可以将复制任务添加到项目文件中,以便在生成后上载文件:

要完成这一任务,请卸载项目。然后,在</project>的末尾,就在结束标记之前,将脚本放在下面:

代码语言:javascript
复制
<ItemGroup>
    <UploadFiles Include="ThePathOfYourUploadFiles\*.*"/>
</ItemGroup>

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

使用此目标,Visual /MSBuild将在生成后上载文件。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53362280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档