代码之家  ›  专栏  ›  技术社区  ›  Daniel Jennings

不允许为ClickOnce部署发布调试版本

  •  19
  • Daniel Jennings  · 技术社区  · 16 年前

    是否有方法禁止使用ClickOnce发布调试版本?

    我只想允许发布版本通过,但现在人为错误会导致调试版本偶尔通过一次。

    我们正在Visual Studio中发布该版本。

    3 回复  |  直到 8 年前
        1
  •  7
  •   Judah Gabriel Himango    12 年前

    您可以做的一件事是向.csproj或.vbproj文件添加一个条件,以便msbuild在执行生成时检查该条件。

    该条件将检查是否正在发生发布,并检查生成是否为调试生成,然后执行诸如运行外部工具或以其他方式中断生成过程或导致生成失败之类的操作。

    例如:

    <Choose>
        <When Condition=" '$(Configuration)'=='Debug' ">
            <Exec Command="C:\foo.bat" ContinueOnError="false" />
        </When>
     </Choose>
    

    其中foo.bat是返回非零的批处理文件,从而停止发布。

        2
  •  49
  •   David Murdoch    10 年前

    我已经开始修改.csproj文件以包含以下代码,以便为调试部署引发错误,从而有效地阻止部署的发生:

    <!-- The following makes sure we don’t try to publish a configuration that defines the DEBUG constant -->
    <Target Name="BeforePublish">
        <Error Condition="'$(DebugSymbols)' == 'true'" Text="You attempted to publish a configuration that defines the DEBUG constant!" />
    </Target>
    

    把它放在文件的末尾,就在 </Project> 标签。

    (原始来源: http://www.nathanpjones.com/wp/2010/05/preventing-clickonce-publishing-a-debug-configuration/comment-page-1/#comment-625 )

        3
  •  3
  •   Peter Mortensen icecrime    8 年前

    我选择了另一个适合我的解决方案:

    我无法更改生成过程。所以我做到了 工具 定制。。。 并更改操作的文本,添加类似“发布[配置为发布!”]“,并将“发布”按钮放在调试/发布配置选项旁边。这很容易!

    这样我就大大降低了人为错误的风险。这些按钮应该总是在一起。