【问题标题】:Scripting Visual Studio build, Clickonce deployment, Dotfuscator and Mage脚本 Visual Studio 构建、Clickonce 部署、Dotfuscator 和 Mage
【发布时间】:2009-03-06 00:54:38
【问题描述】:

将我的应用程序发布给客户的过程是按照标题

  • 构建
  • Clickonce 部署
  • 使用 Dotfuscator 混淆主可执行文件
  • 使用 mage 签署清单和 .application 文件
  • 邮政编码

我想开发一个开源程序来自动执行此操作,因为每次客户端需要发布时它都会花费大量时间。我认为寻求解决方案有点过分;)那么理想的格式是什么?批处理脚本,C# 应用程序?

是否有人知道此流程的现有解决方案或愿意合作解决这个问题?

【问题讨论】:

    标签: .net visual-studio deployment clickonce


    【解决方案1】:

    所以我猜你不打算使用 MSBuild?

    因为 .net SDK 也是免费提供的。您的 Visual Studio 项目已经是 MSBuild 项目文件,因此您可以使用这些文件并对其进行修改以进行完整的集成构建。

    要生成 ClickOnce 部署,您将使用以下 MSBuild 任务:

    • 生成应用程序清单
    • 生成部署清单
    • 执行
    • 签名文件

    由于一些问题,我还需要在这些问题之后运行 mage,例如更新清单并对其进行签名,我为此使用 Exec Task:

    <!-- Correct the codebase property pointing to the application manifest file -->
    <Exec 
      Command="&quot;$(SdkPath)bin\mage&quot; -Update &quot;$(DeploymentManifest)&quot; -AppManifest &quot;$(ApplicationManifest)&quot;" 
      WorkingDirectory="$(PublishDir)" />
    
    <!-- Signing the Deployment manifest -->
    <Exec 
      Command="&quot;$(SdkPath)bin\mage&quot; -Sign &quot;$(DeploymentManifest)&quot; -CertFile &quot;$(SolutionRoot)\$(Branch)\Source\esamba.pfx&quot; -Password esamba" 
      WorkingDirectory="$(PublishDir)" />
    

    希望对你有帮助。

    【讨论】:

    • 另外Dotfuscator自带一个MSBuild任务,你可以使用MSBuild社区任务来压缩文件msbuildtasks.tigris.org
    【解决方案2】:

    为什么不使用像 nant 这样的构建工具,它可以根据需要通过自定义任务进行扩展。

    由于这是一个常见问题,您拥有的大多数任务可能都有预定义的任务,您可以轻松调用其他可执行文件,或使用任何 .NET 语言编写自定义代码来添加任务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-25
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 1970-01-01
      相关资源
      最近更新 更多