J'ai besoin que le fichier .ASPX se comporte différemment en fonction d'un symbole de compilation conditionnelle.
Prenons un exemple simple :
<%@ Control Language="C#" AutoEventWireup="true" (...) %>
<% #ifdef DEBUG %>
<asp:SomeDebugControlHere runat="server"/>
.. well .. a LOT of code here
<% #else %>
<asp:SomeReleaseControlHere runat="server"/>
.. and a LOT of other code here
<% #endif %>
Édition ultérieure : quelques clarifications supplémentaires. Le problème est que la classe SomeDebugControlHere n'est même pas défini dans la version de base (c'est beaucoup plus compliqué dans la réalité, mais gardez cet exemple). Donc, dans la page.aspx.designer.cs, je dois obtenir ceci dans la version de débogage :
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.SomeDebugControlHere myControl
et ceci dans le release build : (et jamais les deux)
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.SomeReleaseControlHere myControl
Il est évident que le balisage du fichier ASPX doit être différent, mais j'ai besoin que le fichier designer.cs soit également modifié pour intégrer les nouveaux objets/classes.
J'espère simplement que quelqu'un connaît une façon intelligente de faire cela, soit par un héritage de contrôle, soit par n'importe quoi qui me permettrait de spécifier différentes classes de contrôle en fonction des paramètres de compilation.