1

アプリをデプロイしようとすると、競合が原因で失敗します。

私は3つのアイテムを持っています:

  1. Visualforce ページ
  2. 頂点クラス
  3. カスタム オブジェクト

カスタム オブジェクトは、新しいボタンを visualforce ページに上書きします。したがって、安全にしようとすると、競合が発生して失敗します。

visualforce ページは apex クラスを参照します。したがって、最初に安全にしようとすると失敗します。

apex クラスはカスタム オブジェクトを参照します。したがって、最初に保存しようとすると失敗します。

4

2 に答える 2

0

鶏が先か卵が先か。循環依存関係があります:)残念ながら、Salesforceはそれらを解決するのに非常に賢いですが、そのようなシナリオでは失敗します。

2つの別々の展開が必要であり、2つの方法で実行できます(少なくとも、最も簡単だと思います)。

オプション1

VFの「新しい」ページの全体とコントローラー拡張への参照をコメントアウトします。空のシェルを残します:

<apex:page standardController="CustomObject__c">
</apex:page>

これはまだ有効な「新しい」ページオーバーライドであり(奇妙なものですが)、デプロイできるようになります。

  1. オブジェクト、クラス、およびこのスタブページをデプロイします。
  2. ページをデプロイします(または、本番環境でVFを編集できるため、直接編集します)。

オプション2

「新しい」オーバーライドを削除し、すべてをデプロイし(通常のVFページになります)、オブジェクトのプロパティを手動で変更します(またはオブジェクトを再度デプロイします)。これはより単純なシナリオであり、実際にライブ環境でコードを編集しないため、間違いを犯しにくくなります。

ページレイアウトに埋め込まれたVFページを展開する必要がある場合は、同様のトリックを使用できます。

于 2012-12-17T20:35:17.707 に答える
0

一度に 1 つずつではなく、関連するすべてのオブジェクトをまとめてデプロイしても問題はありません。Force.com IDE は、一度に多くのファイルをリリースできます。

あなたが言及したように、apexページのオーバーライドとコントローラーを備えたカスタムオブジェクトを持つ多くのコードをデプロイするために、この方法を使用しました。

于 2012-12-18T03:36:37.407 に答える