鶏が先か卵が先か。循環依存関係があります:)残念ながら、Salesforceはそれらを解決するのに非常に賢いですが、そのようなシナリオでは失敗します。
2つの別々の展開が必要であり、2つの方法で実行できます(少なくとも、最も簡単だと思います)。
オプション1
VFの「新しい」ページの全体とコントローラー拡張への参照をコメントアウトします。空のシェルを残します:
<apex:page standardController="CustomObject__c">
</apex:page>
これはまだ有効な「新しい」ページオーバーライドであり(奇妙なものですが)、デプロイできるようになります。
- オブジェクト、クラス、およびこのスタブページをデプロイします。
- ページをデプロイします(または、本番環境でVFを編集できるため、直接編集します)。
オプション2
「新しい」オーバーライドを削除し、すべてをデプロイし(通常のVFページになります)、オブジェクトのプロパティを手動で変更します(またはオブジェクトを再度デプロイします)。これはより単純なシナリオであり、実際にライブ環境でコードを編集しないため、間違いを犯しにくくなります。
ページレイアウトに埋め込まれたVFページを展開する必要がある場合は、同様のトリックを使用できます。