Vă mulțumim pentru susținere

CruiseControl.net, msbuild, / p: OutputPath și CCNetArtifactDirectory

Încerc acum să configurez CruiseControl.net. Până acum funcționează frumos, dar am o problemă cu MSBuild Task.

În conformitate cu Documentație , trece CCNetArtifactDirectory la MSBuild. Dar cum îl folosesc?

Am încercat acest lucru:


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

Dar asta nu merge. De fapt, acesta omoară serviciul cu această eroare:

ThoughtWorks.CruiseControl.Core.Config.Preprocessor.EvaluationException: Referință la simbolul necunoscut CCNetArtifactDirectory

Documentația este destul de redusă și Google und oferă în principal modificarea fișierului Project .sln, ceea ce vreau să evit pentru a putea construi manual acest proiect mai târziu - aș prefera cu adevărat / p: OutputPath .

0
adăugat editat

6 răspunsuri

Dacă curbele dvs. sunt în P ^ n (în special în P ^ 2 - ca în exemplul dvs.), cred că este ceva ce puteți face: proiectați curbele de la un general P ^ {n-2} la P ^ 1. Asta înseamnă că tu caută acum o limită într-o schemă Hurwitz. Acest lucru poate fi împărțit în două probleme:

  • căutarea limitei la baza M_ {0, n}

  • urmărirea structurii de ramificare.

Iată un exemplu: găsiți limita lui F + t Q ^ 2 unde F este o arie quartică și Q este un plan quadric.

Proiect din punctul dvs. preferat preferat. Puteți verifica dacă limita punctelor de ramificare pentru familie este

  • cele opt puncte de intersecție din F și Q

  • de două ori pe fiecare punct de ramificare al proieciei lui p de la Q.

De aici puteți continua într-o varietate de moduri (de exemplu, aveți un creion de g ^ 4 s pe curba limită care rupe printr-o hartă de la curba limită la un conic plan, care are 8 puncte de ramificație)

4
adăugat
Mulțumiri! Acesta este un răspuns foarte frumos deoarece (1) am implementat algoritmi pentru pasul 1 în trecut (deși nu foarte buni) și (2) sunt la MSRI chiar acum, ca să pot continua conversația.
adăugat autor David E Speyer
O lucrare recentă despre Arzdorf și Wewers, care adaugă câteva detalii la această propunere, este arhivă.
adăugat autor David E Speyer

Aceasta răspunde la o variantă a întrebării dvs.

Problema analogică din teoria numerelor - calculul unui model minimal regulat normal al unei curbe peste Q la un prim p - este greu. Pentru genul 1, acesta este algoritmul lui Tate, pentru genul 2 acest lucru se face într-o lucrare de Qing Liu și necesită multă muncă. Pentru curbe de gen mai mari (chiar hyperelliptic) cred că acest lucru este încă deschis și probabil prea greu de făcut.

Cu toate acestea, aceasta este o problemă mult mai dificilă decât reducerea semistabila (de exemplu în cazul genului 1 primii care împart numitorul lui j-invariant sunt exact primele de reducere potențial semistabile).

2
adăugat

Este posibil să existe o permisiune în sistemul de fișiere ca urmare a mutării fișierului dintr-o altă locație, ceea ce ar fi putut muta și lista originală de control al accesului.

Incearca asta:

  1. deschideți un notepad
  2. lipiți conținutul paginii în notepad
  3. Salvați în layouts ca fișier .aspx
2
adăugat
Voi sustine asta, cu exceptia probabil a lui MOVE, nu a unui COPIE. Când mutați fișiere în NTFS, drepturile se mișcă cu ele (eroare de implementare clasică care va rupe întregul site dacă îl faci cu un fișier XSLT greșit, de exemplu;;) Alt lucru: luați în considerare codul în codebehind în loc de codul inline. Modulul parser în modul de siguranță permite partajarea codului inline în paginile aplicației, dar în orice altă parte este interzisă. Consultați acest articol de la AC:
adăugat autor Anonymous User
cool, multumesc pentru clarificarea lui Anders :)
adăugat autor Darren Kopp
Ați actualizat răspunsul meu
adăugat autor Darren Kopp
Cred că este adevărat, presupunând că site-ul dvs. este setat să permită accesul anonim și că nu aveți probleme de acces la sistemul de fișiere. Pașii sugerați v-au rezolvat problema?
adăugat autor Darren Kopp
Vreau să verific în mod implicit, pentru a accesa paginile aspx de către utilizatorii anonimi în folderul layout, nu ar trebui să existe probleme de autorizare?
adăugat autor engtech

CCNetArtifactDirectory este trecut în mod implicit la MSBuild, deci nu trebuie să vă faceți griji. MSBuild va plasa ieșirea de construire în "locația bin" relevantă pentru directorul de lucru pe care l-ați specificat.

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

Deci, în exemplul de mai sus, rezultatul dvs. de construire va fi pus în C: \ data \ projects \ FooSolution [ProjectName] \ bin \ Debug. Dacă doriți să ieșiți într-o altă locație, vă recomandăm să consultați eticheta în CCNET.


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

Acest lucru vă va permite să vă publicați ieșirea într-o locație diferită.

0
adăugat

Puteți utiliza variabila director artefact în interiorul scriptului MSBuild. Iată un exemplu despre modul în care rulez FxCop chiar acum din scriptul meu CC.Net MSBuild (acest script este ceea ce indică CC.Net - există, de asemenea, o țintă "Build" în scenariul care include o sarcină MSBuild împotriva SLN pentru a face compilația reală):


0
adăugat

Parametrii ca CCNetArtifactDirectory sunt transmise programelor externe folosind variabile de mediu. Ele sunt disponibile în programul extern, dar nu sunt în configurația CCNET . Acest lucru duce adesea la confuzie.

În schimb, puteți folosi o constantă preprocesor:



  
  $(project.artifactDirectory)
  
  
    
    
      
      /noconsolelogger /p:OutputPath=$(project.artifactDirectory)\test
      
    
    
  
  

0
adăugat