我有一个 WPF 应用程序,它实际上使用 Web 服务器来下载应用程序并在客户端上执行它......我还为该应用程序创建了一个暂存环境,当我在添加新功能/错误时立即发布固定的。
自从 app.config 被散列以来,我还没有找到一种从登台升级到生产的合理方法......所以我无法更改我的观点(数据库/服务)编辑它......
我的实际方法是发布以进行分期,将发布版本增加 1 并发布以进行生产……但这非常令人沮丧……因为我必须做两次工作……有什么建议吗?
谢谢
我们的团队一年前遇到了同样的情况。我们已经按照以下步骤解决了这种情况:
这是一个调用 Mage 的简短代码示例,虽然实际上并不复杂。
// Compose the arguments to start the Mage tool.
string arguments = string.Format(
@"-update ""{0}"" -appmanifest ""{1}"" -certfile ""{2}""",
deploymentManifestFile.FullName,
applicationManifestFile.FullName,
_certificateFile);
// Add password to the list of arguments if necessary.
arguments += !string.IsNullOrEmpty(_certificateFilePassword) ? string.Format(" -pwd {0}", _certificateFilePassword) : null;
// Start the Mage process and wait it out.
ProcessStartInfo startInfo = new ProcessStartInfo(_mageToolPath, arguments);
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = true;
startInfo.RedirectStandardOutput = true;
Process mageProcess = Process.Start(startInfo);
mageProcess.WaitForExit();
// Show all output of the Mage tool to the current console.
string output = mageProcess.StandardOutput.ReadToEnd();
// Determine the update of the manifest was a success.
bool isSuccesfullyConfigured = output.ToLower().Contains("successfully signed");