编写Visual Studio构建脚本,Clickonce部署,Dotfuscator和Mage

时间:2009-03-06 00:54:39

标签: .net visual-studio deployment clickonce

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

  • 构建
  • Clickonce部署
  • 使用Dotfuscator混淆主要可执行文件
  • 使用mage
  • 签署清单和.application文件
  • Zip for delivery

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

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

2 个答案:

答案 0 :(得分:2)

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

由于这是一个常见问题,因此您可能已经为大多数任务预定义了任务,并且可以轻松调用其他可执行文件,或者以任何.NET语言编写自定义代码来添加任务。

答案 1 :(得分:2)

所以我猜你不是在考虑使用MSBuild?

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

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

  • GenerateApplicationManifest
  • GenerateDeploymentManifest
  • Exec的
  • SignFile

由于某些问题,我还需要在这些问题之后运行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)" />

我希望这会对你有所帮助。