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