有没有办法禁止使用ClickOnce发布调试构建版本?
我只想允许发布发布版本,但现在偶尔会有人为错误导致调试版本被发布。
我们是在Visual Studio内部发布构建。
有没有办法禁止使用ClickOnce发布调试构建版本?
我只想允许发布发布版本,但现在偶尔会有人为错误导致调试版本被发布。
我们是在Visual Studio内部发布构建。
我已经开始修改.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>
标记之前。
您可以做的一件事是在 .csproj 或 .vbproj 文件中添加一个条件,MSBuild 在进行构建时会检查该条件。
该条件将检查是否正在进行发布,并检查构建是否为调试构建,然后执行诸如运行外部工具或以其他方式中断构建过程或导致其失败等操作。
例如,可能会像这样:
<Choose>
<When Condition=" '$(Configuration)'=='Debug' ">
<Exec Command="C:\foo.bat" ContinueOnError="false" />
</When>
</Choose>
其中foo.bat是一个批处理文件,返回非零值,因此会停止发布过程。
我无法更改我的构建过程。所以我做了 工具 → 自定义... ,更改操作的文本,并添加一个警告,如“发布 [配置为发布!]”,并将发布按钮放在调试/发布配置选项旁边。非常容易!
这样可以大大降低人为错误的风险。这些按钮应该始终在一起。
- charlie