22

ClickOnce でデバッグ ビルドの公開を禁止する方法はありますか?

リリース ビルドのみを許可したいのですが、現在、人的エラーにより、デバッグ ビルドが時々すり抜けてしまいます。

Visual Studio 内からビルドを公開しています。

4

3 に答える 3

58

.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

于 2013-02-26T01:56:50.843 に答える
8

できることの 1 つは、ビルドの実行時に MSBuild がチェックする条件を .csproj または .vbproj ファイルに追加することです。

条件は、発行が行われているかどうかを確認し、ビルドがデバッグ ビルドであるかどうかを確認してから、外部ツールを実行するか、ビルド プロセスを中断するか失敗させるなどの処理を行います。

例は次のようになります。

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

foo.bat は、0 以外を返すバッチ ファイルであるため、発行が停止します。

于 2009-05-14T21:17:30.437 に答える
3

私のために働いた別の解決策を選択しました:

ビルド プロセスを変更できませんでした。そこで、[ Tools ] → [ Customize... ] を実行してアクションのテキストを変更し、「Publish [CONFIGURE TO RELEASE!]」のようなアラートを追加し、[Publish] ボタンを [Debug/Release] 構成オプションの横に配置しました。それは簡単です!

これにより、人的ミスのリスクを大幅に減らしました。これらのボタンは常に一緒にある必要があります。

于 2011-07-18T20:21:00.163 に答える