11

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

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

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

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

谢谢

4

3 回答 3

4

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

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

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

于 2013-06-27T18:52:50.860 回答
1

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

    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;
        }
    }

任何其他想法表示赞赏。

于 2010-04-15T19:26:36.037 回答
0

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

RobinDotNet
访问我的ClickOnce 博客!

于 2010-04-14T09:28:04.543 回答