【问题标题】:Prevent deploying debug build with ClickOnce防止使用 ClickOnce 部署调试版本
【发布时间】:2011-02-07 16:01:18
【问题描述】:

我正在使用 VS2008 发布 ClickOnce 应用程序,但在每次发布之前,我必须手动切换到发布配置。这很好,只要我不忘记切换。有没有办法阻止部署调试版本?是否有一些编译器指令,例如:

#if DEBUG
#if ClickOnce
#error You cannot publish a debug build
#endif
#endif

或者有没有办法(没有构建脚本)在发布之前自动切换到发布配置?

(我发现了一些类似的问题,但不喜欢他们的回答者)

谢谢

【问题讨论】:

标签: c# deployment clickonce debug-build


【解决方案1】:

很抱歉告诉你这个,但没有办法做到这一点。 jomi 是对的,如果您更改签名密钥,您会看到对话框,但如果您更改构建配置,则不会。您只需在部署产品时密切关注。

RobinDotNet
访问我的ClickOnce blog!

【讨论】:

【解决方案2】:

目前我发现的最佳解决方案是编写一个基于:http://msdn.microsoft.com/en-us/library/ms165638.aspx 的 vs2008 插件

    public void OnPublishBegin(ref bool pubContinue)
    {
        if (pubContinue && _applicationObject.Solution.SolutionBuild.ActiveConfiguration.Name != "Release")
        {
            System.Windows.Forms.MessageBox.Show("You can only publish a Release build");
            pubContinue = false;
        }
    }

感谢任何其他想法。

【讨论】:

  • 好建议!解决了我的问题并允许我添加其他有用的功能。
【解决方案3】:

不确定这是否令人不悦,但请在相关线程中查看我的回答:

https://stackoverflow.com/a/15080048/571237

简而言之,您可以修改项目文件以在发布前检查调试符号,如果发现则抛出错误条件。这可以防止在不需要任何 .bat 文件或外部处理的情况下进行部署。

【讨论】:

  • 谢谢,插件运行良好,但每个人都必须安装它。现在我可以使用:目标>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-22
  • 2013-09-01
相关资源
最近更新 更多