我正在使用 VS2008 发布 ClickOnce 应用程序,但在每次发布之前,我必须手动切换到发布配置。这很好,只要我不忘记切换。有没有办法阻止部署调试版本?是否有一些编译器指令,例如:
#if DEBUG
#if ClickOnce
#error You cannot publish a debug build
#endif
#endif
或者有没有办法(没有构建脚本)在发布之前自动切换到发布配置?
(我发现了一些类似的问题,但不喜欢他们的回答者)
谢谢
我正在使用 VS2008 发布 ClickOnce 应用程序,但在每次发布之前,我必须手动切换到发布配置。这很好,只要我不忘记切换。有没有办法阻止部署调试版本?是否有一些编译器指令,例如:
#if DEBUG
#if ClickOnce
#error You cannot publish a debug build
#endif
#endif
或者有没有办法(没有构建脚本)在发布之前自动切换到发布配置?
(我发现了一些类似的问题,但不喜欢他们的回答者)
谢谢
不确定这是否令人不悦,但请在相关线程中查看我的答案:
https://stackoverflow.com/a/15080048/571237
简而言之,您可以在发布之前修改项目文件以检查调试符号,如果发现则抛出错误条件。这可以防止在不需要任何 .bat 文件或外部处理的情况下进行部署。
到目前为止,我发现的最佳解决方案是编写一个基于以下内容的 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;
}
}
任何其他想法表示赞赏。
很抱歉告诉你这个,但没有办法做到这一点。jomi 是对的,如果您更改签名密钥,您会看到对话框,但如果您更改构建配置,则不会。您只需在部署产品时密切关注。
RobinDotNet
访问我的ClickOnce 博客!