有没有办法禁止使用 ClickOnce 发布调试版本?

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

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

有帮助吗?

解决方案

您可以做的一件事是向 .csproj 或 .vbproj 文件添加一个条件,MSBuild 在执行构建时将检查该条件。

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

一个例子可能是这样的:

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

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

其他提示

我已开始修改 .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)

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top