visual-studio - 从命令行发布 ClickOnce

标签 visual-studio clickonce publish

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

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

devenv mysolution.sln /publish

最佳答案

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

<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 应用程序的。

关于visual-studio - 从命令行发布 ClickOnce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1375764/

相关文章:

c# - VSIX 项目上下文菜单

visual-studio - 脚本任务不会在 Visual Studio 2013 中打开编辑器

c# - 从第一个 WPF 应用程序中启动第二个实例

.net - 如何让 MSBuild 在构建服务器上增加 ClickOnce 发布修订版本号?

.net - ClickOnce升级失败,System.Deployment.Internal.Isolation.StoreTransactionOperationType(27)-HRESULT:0x8007001f

angular - 在 Visual Studio Team Services 中发布 Angular 4 项目时出错

drupal - 如何将 Drupal 书籍导出为 PDF?

visual-studio - 如何在 VS 2005 中向 QuickWatch 窗口添加命名空间

c++ - 在 Windows 上强制刷新 ofstream 文件

asp.net - 无法加载文件或程序集 'AForge.Video.FFMPEG.dll' 或其依赖项之一