Configurer le Chemin de sortie avec MSBuild

Signaler
Messages postés
68
Date d'inscription
mercredi 5 octobre 2005
Statut
Membre
Dernière intervention
25 octobre 2020
-
Messages postés
14908
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 octobre 2020
-
Bonjour,
je cherche a configurer le chemin de sortie avec un itemgroup à partie le fichier (.csproj)


<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <PlatformTarget>AnyCPU</PlatformTarget>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

4 réponses

Messages postés
14908
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 octobre 2020
446
Bonjour

Peux tu être plus explicite par ce là c’est très flou.
Notamment, expliquer l’intérêt que tu attends de cet itemgroup.

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Messages postés
68
Date d'inscription
mercredi 5 octobre 2005
Statut
Membre
Dernière intervention
25 octobre 2020

je veux renommé un dossier dans le chemin de sotire avec le numéro de version d'assembly.
exemple: si je mis le numero d'assembly 1.0.0.5 le chemin de sortie sera \bin\Debug\1.0.0.5.

jusqu'a maintenant je récupère le numéro de version avec ce itemgroup:
<ItemGroup>
    <VersionNumber Include="$([System.Text.RegularExpressions.Regex]::Replace("%(Targets.Version)", "^(.+?)(\.0+)$", "$1"))" />
  </ItemGroup>

Messages postés
14908
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 octobre 2020
446
Mais quel est le but profond.

Parce que pour moi, versionner un exe est inutile, même contreproductif, mais je me trompe peut-être.

Je suppose que si tu veux faire ça c'est que tu as activé l'option qui modifie le numéro de version à chaque compilation. Sinon, il te suffirait qu'au moment où tu changes à la main le numéro de version de changer le répertoire (dans cette hypothèse, ça me semblerait seulement inutile).

Voilà mon raisonnement:
Imaginons, tu es entrain de peaufiner une vue, tu compiles (une version) ha non y'a un panel trop gauche, tu changes, tu recompiles (une autre version), ha et ce textbox, il ne serait pas mieux en bas? tu recompiles (une version de plus), en fait non (encore une version) et après une pause, (pipi, repas, réunion, nuit...) heu j'en étais où? tu recompiles (encore une version).....
Bref, tu vas rapidement te retrouver avec des centaines de répertoires et tu ne sauras plus à quelle version correspond quel code.
Mais le raisonnement est le même pout une recherche de bug ou autre.
Je compile des dizaines de fois par jours, des milliers de fois par moi.

J'imagine, que l'idée au final, c'est que si un client a un bug, tu puisses tester avec sa version et corriger si besoin dans la version la plus récente.
Mais le client, il en est à la version 100 et toi à la version 1500, comment tu va faire avec un exe?

Le décompiler ? oui mais ça sera codé comme le décompliateur "code" (pas comme toi) et avec ses noms de variables (pas les tiens) et sans aucun commentaire, bref c'est pas mission impossible mais pas loin.

Si j'ai raison, c'est le code qu'il faut versionner, et je peux t'expliquer comment faire.
Si j'ai tord, explique le besoin profond
Messages postés
14908
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 octobre 2020
446
Au cas où, ta question m'a incité à écrire un tuto (dont j'avais l'idée depuis un moment, mais pas pris le temps de faire).
https://codes-sources.commentcamarche.net/faq/11714-suivre-les-versions-d-un-code-source-avec-git-et-sourcetree