4

Visual Studio 2008でコマンドラインから[今すぐ公開]ボタンを実行する方法はありますか?

msbuild / target:publishを使用して呼び出すことを提案する投稿を見ました。それは問題ありませんが、MSBuildはリビジョン番号をインクリメントしません。私は次のようなものを望んでいます:

devenv mysolution.sln /publish
4

1 に答える 1

4

ビルド番号を増やすために、次のように.csprojファイル内でMSBuild拡張パックを使用しています。

<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.NET3.5Webアプリケーション用であることに注意してください。

于 2010-01-19T17:10:45.013 に答える