首页 / 知识

禁止发布用于ClickOnce部署的调试版本

2023-04-14 09:43:00

禁止发布用于ClickOnce部署的调试版本

Disallow publishing of debug builds for ClickOnce deployment

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

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

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


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

1
2
3
4
<!-- The following makes sure we dona€?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)


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

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

一个例子可能是这样的:

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

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


我选择了另一个对我有用的解决方案:

我无法更改构建过程。因此,我做了"工具"吗?’"自定义..."并更改操作的文本,添加了一个警报,例如"发布[配置要发布!] ",然后将"发布"按钮放在"调试/发布"配置选项旁边。很简单!

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


调试用于人为文件

最新内容

相关内容

猜你喜欢