Visual Studio 2008でコマンドラインから[今すぐ公開]ボタンを実行する方法はありますか?
msbuild / target:publishを使用して呼び出すことを提案する投稿を見ました。それは問題ありませんが、MSBuildはリビジョン番号をインクリメントしません。私は次のようなものを望んでいます:
devenv mysolution.sln /publish
Visual Studio 2008でコマンドラインから[今すぐ公開]ボタンを実行する方法はありますか?
msbuild / target:publishを使用して呼び出すことを提案する投稿を見ました。それは問題ありませんが、MSBuildはリビジョン番号をインクリメントしません。私は次のようなものを望んでいます:
devenv mysolution.sln /publish
ビルド番号を増やすために、次のように.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アプリケーション用であることに注意してください。