CruiseControl.net, msbuild, / p: OutputPath et CCNetArtifactDirectory

J'essaye de configurer CruiseControl.net pour le moment. Jusqu'à présent, cela fonctionne bien, mais j'ai un problème avec la tâche MSBuild.

Selon la documentation , il transmet CCNetArtifactDirectory à MSBuild. Mais comment l'utiliser?

J'ai essayé ceci:


   /noconsolelogger /p:OutputPath=$(CCNetArtifactDirectory)\test

Mais ça ne marche pas. En fait, il tue le service avec cette erreur:

ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException: Référence au symbole inconnu CCNetArtifactDirectory

La documentation est plutôt clairsemée, et Google und propose principalement de modifier le fichier projet .sln, ce que je veux éviter pour pouvoir construire ce projet plus tard - je préfèrerais vraiment / p: OutputPath .

0
ajouté édité
Vues: 3

6 Réponses

Si vos courbes sont dans P ^ n (spécifiquement dans P ^ 2 - comme dans votre exemple), je pense qu'il y a quelque chose que vous pouvez faire: projeter vos courbes d'un général P ^ {n-2} à P ^ 1. Cela signifie que vous cherchent maintenant une limite dans un système Hurwitz. Cela peut être divisé en deux problèmes:

  • recherche de la limite sur le sous-jacent M_ {0, n}

  • traçant la structure de ramification.

Voici un exemple: trouvez la limite de F + t Q ^ 2 où F est un quartic plan, et Q est un quadric plan.

Projet à partir de votre point aléatoire préféré. Vous pouvez vérifier que la limite des points de ramification sur la famille est

  • les huit points d'intersection de F et Q

  • deux fois sur chacun des points de ramification de la projection de p de Q.

De là, vous pouvez continuer de différentes façons (par exemple, vous avez un crayon de g ^ 1_4 s sur la courbe de limite qui traverse une carte de la courbe de limite à une conique plane, qui a 8 points de ramification)

4
ajouté
Merci! C'est une réponse particulièrement intéressante parce que (1) j'ai implémenté des algorithmes pour l'étape 1 dans le passé (bien que pas très bons) et (2) je suis au MSRI en ce moment, ainsi je peux continuer la conversation.
ajouté l'auteur David E Speyer, source
Un article récent d'Arzdorf et Wewers arxiv.org/abs/1211.4624 ajoute quelques détails à cette proposition.
ajouté l'auteur David E Speyer, source

Cela répond à une variante de votre question.

Le problème analogue de la théorie des nombres - calculer un modèle minimal régulier et régulier d'une courbe sur Q au premier p - est difficile. Pour le genre 1, c'est l'algorithme de Tate, pour le genre 2, cela est fait dans un papier de Qing Liu et nécessite beaucoup de travail. Pour les courbes du genre supérieur (même hyperelliptique), je crois que c'est encore ouvert et probablement trop difficile à faire.

Cependant, c'est un problème beaucoup plus difficile que la réduction semistable (par exemple dans le cas du genre 1, les nombres premiers divisant le dénominateur de l'invariant j sont exactement les nombres premiers d'une réduction potentiellement semistable).

2
ajouté

Peut-être une chose d'autorisations sur le système de fichiers à la suite du déplacement du fichier à partir d'un autre emplacement, ce qui pourrait avoir déplacé la liste de contrôle d'accès d'origine avec cela.

Essaye ça:

  1. ouvrir le bloc-notes
  2. collez le contenu de la page dans le bloc-notes
  3. enregistrer dans les mises en page en tant que fichier .aspx
2
ajouté
Je vais le seconder, sauf que c'est probablement un MOVE pas un COPY. Lorsque vous déplacez des fichiers dans NTFS, les droits se déplacent avec eux (erreur de déploiement classique qui détruira tout votre site si vous le faites avec le mauvais fichier XSLT par exemple ;-) Autre chose: pensez à faire du code dans codebehind plutôt que du code inline. L'analyseur de mode sans échec dans sharepoint permet le code en ligne dans les pages d'application, mais partout ailleurs est interdit. Consultez cet article de AC:
ajouté l'auteur Anonymous User, source
cool, merci de clarifier Anders :)
ajouté l'auteur Darren Kopp, source
A mis à jour ma réponse
ajouté l'auteur Darren Kopp, source
Je crois que cela est vrai, en supposant que votre site est configuré pour autoriser l'accès anonyme ET que vous n'avez aucun problème d'accès au système de fichiers. Les étapes suggérées ont-elles résolu votre problème?
ajouté l'auteur Darren Kopp, source
Je veux vérifier par défaut, pour accéder aux pages aspx par des utilisateurs anonymes dans le dossier de mise en page, il ne devrait y avoir aucun problème d'autorisation?
ajouté l'auteur engtech, source

CCNetArtifactDirectory est transmis à MSBuild par défaut, vous n'avez donc pas besoin de vous en préoccuper. MSBuild placera la sortie de construction dans l'emplacement "bin" correspondant au répertoire de travail que vous avez spécifié.

c:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe
C:\data\projects\FooSolution\
FooSolution.sln
/noconsolelogger /p:Configuration=Debug 

Donc, dans l'exemple ci-dessus, votre sortie de génération sera placée dans C: \ data \ projects \ FooSolution [NomProjet] \ bin \ Debug. Si vous souhaitez exporter vers un emplacement différent, vous pouvez consulter la balise dans CCNET.


  
  
    C:\data\projects\FooSolution\FooProject\bin\Debug
    C:\published\FooSolution\
    false
  

Cela vous permettra de publier votre sortie à un endroit différent.

0
ajouté

Vous pouvez utiliser la variable de répertoire d'artefacts dans le script MSBuild lui-même. Voici un exemple de la façon dont je lance FxCop en ce moment à partir de mon script CC.Net MSBuild (ce script est ce que CC.Net pointe vers - il y a aussi une cible "Build" dans le script qui inclut une tâche MSBuild par rapport à la SLN faire la compilation réelle):


0
ajouté

Des paramètres tels que CCNetArtifactDirectory sont transmis aux programmes externes à l'aide de variables d'environnement. Ils sont disponibles dans le programme externe mais ils ne sont pas dans la configuration CCNET . Cela conduit souvent à la confusion.

Vous pouvez utiliser une constante de préprocesseur à la place:



  <!-- [...] -->
  $(project.artifactDirectory)
  <!-- [...] -->
  
    <!-- [...] -->
    
      <!-- [...] -->
      /noconsolelogger /p:OutputPath=$(project.artifactDirectory)\test
      <!-- [...] -->
    
    <!-- [...] -->
  
  <!-- [...] -->

0
ajouté