【问题标题】:Publish ClickOnce from the command line从命令行发布 ClickOnce
【发布时间】:2009-09-03 20:30:15
【问题描述】:

有没有办法让 Visual Studio 2008 从命令行执行“立即发布”按钮?

我看到一些帖子建议使用 msbuild /target:publish 来调用它。没关系,但 MSBuild 不会增加修订号。我希望是这样的:

devenv mysolution.sln /publish

【问题讨论】:

    标签: visual-studio clickonce publish


    【解决方案1】:

    为了增加内部版本号,我在 .csproj 文件中使用MSBuild Extension pack,如下所示:

    <Target Name="BeforeBuild" Condition=" '$(Configuration)|$(Platform)' == 'Release-VersionIncrement|AnyCPU' ">
      <CallTarget Targets="CleanAppBinFolder" />
      <MSBuild.ExtensionPack.VisualStudio.TfsSource TaskAction="Checkout" ItemCol="@(AssemblyInfoFiles)" WorkingDirectory="C:\inetpub\wwwroot\MySolution" ContinueOnError="true" />
      <!-- Microsoft's task that goes over assembly files and increments revision number. -->
      <MSBuild.ExtensionPack.Framework.AssemblyInfo Condition="'$(Optimize)'=='True' " AssemblyInfoFiles="@(AssemblyInfoFiles)" AssemblyRevisionType="AutoIncrement" AssemblyFileRevisionType="AutoIncrement">
        <Output TaskParameter="MaxAssemblyVersion" PropertyName="MaxAssemblyVersion" />
      </MSBuild.ExtensionPack.Framework.AssemblyInfo>
      <Message Text="----current version---: '$(MaxAssemblyVersion)'" />
    </Target>
    

    这样,只要配置设置为 Release-VersionIncrement,版本号就会更改。完成后,我可以使用以下 MSBuild 命令发布它:

    msbuild c:\projects\MyProject.csproj /t:ResolveReferences;_CopyWebApplication /p:Configuration=Release;BuildingProject=true;WebProjectOutputDir=c:\inetpub\wwwroot\OutputProject\MyProjectOutput;OutDir=c:\inetpub\wwwroot\OutputProject\MyProjectOutput

    请注意,这是针对 ASP.NET 3.5 Web 应用程序的。

    【讨论】:

    • 单击一次适用于 Windows 窗体应用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多