从命令行发布ClickOnce

4

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

我看到过一些帖子建议使用msbuild /target:publish来调用它。这样做没问题,但MSBuild不会增加版本号。我希望能有类似以下的东西:

devenv mysolution.sln /publish
1个回答

4
为了增加构建版本号,我在我的.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 Forms 应用程序中 单击一次 - Kiquenet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接