将我的应用程序发布给客户的过程是每个标题
- 建造
- Clickonce 部署
- 使用 Dotfuscator 混淆主可执行文件
- 使用 mage 签署清单和 .application 文件
- 邮编
我想开发一个开源程序来自动执行此操作,因为每次客户端需要发布时它都会花费大量时间。我认为寻求解决方案有点过分;)那么理想的格式是什么?批处理脚本,C# 应用程序?
是否有人知道此过程的现有解决方案或愿意合作解决这个问题?
将我的应用程序发布给客户的过程是每个标题
我想开发一个开源程序来自动执行此操作,因为每次客户端需要发布时它都会花费大量时间。我认为寻求解决方案有点过分;)那么理想的格式是什么?批处理脚本,C# 应用程序?
是否有人知道此过程的现有解决方案或愿意合作解决这个问题?
所以我猜你不是在考虑使用 MSBuild 吗?
因为 .net SDK 也是免费提供的。您的 Visual Studio 项目已经是 MSBuild 项目文件,因此您可以使用这些文件并对其进行修改以进行完整的集成构建。
要生成 ClickOnce 部署,您将使用以下 MSBuild 任务:
由于一些问题,我还需要在这些之后运行 mage,例如更新清单并对其进行签名,我为此使用 Exec 任务:
<!-- Correct the codebase property pointing to the application manifest file -->
<Exec
Command=""$(SdkPath)bin\mage" -Update "$(DeploymentManifest)" -AppManifest "$(ApplicationManifest)""
WorkingDirectory="$(PublishDir)" />
<!-- Signing the Deployment manifest -->
<Exec
Command=""$(SdkPath)bin\mage" -Sign "$(DeploymentManifest)" -CertFile "$(SolutionRoot)\$(Branch)\Source\esamba.pfx" -Password esamba"
WorkingDirectory="$(PublishDir)" />
我希望这可以帮助你。
为什么不使用像nant这样的构建工具,它可以根据需要通过自定义任务进行扩展。
由于这是一个常见问题,您拥有的大多数任务可能都有预定义的任务,您可以轻松调用其他可执行文件,或使用任何 .NET 语言编写自定义代码来添加任务。