2010-08-03 2 views
1

Je travaille sur l'outil CI CruiseControl.Net et MSBuild. J'ai beaucoup de fichiers .csproj, .sln et des projets web (plus de 30). Nous avons 30 développeurs et ils travaillent sur plusieurs projets à un moment donné.Comment gérer Class Library/Solution/WebProject dans MSBuild 2.0 et CrusiseControl.Net

A partir de maintenant, le développeur ne publie pas les fichiers .sln et .csproj pour la construction. Maintenant, ma question est de savoir comment gérer le fichier de construction en tant que: 1. Depuis développeur ne libère pas .csproj et comment puis-je obtenir les fichiers nouvellement ajoutés requis pour la compilation? Et comment est-ce que j'obtiendrais la référence nouvellement ajoutée à la fois. Net Framework et dlls tiers?

2. Some cases the developer opens WebProject independently and make changes and release. In this case, how would i compile it? 

3. How would i manage order of project dependencies? 

J'utilise .Net 2.0 /.

Quelqu'un peut-il suggérer et me guider ici.

Merci, chandan

+1

Que voulez-vous dire "développeur ne libère pas .csproj"? –

Répondre

0

Il y a plusieurs façons d'automatiser construit. Une façon que j'ai utilisée qui pourrait fonctionner pour vous aussi, est d'utiliser NAnt au lieu de MSBuild. Nant a une tâche csc que vous pouvez utiliser. (Csc.exe étant le compilateur csharp lui-même)

<csc target="library" output="yourbuildpath\yourproject.dll" debug="${debug}"> 
     <sources> 
      <include name="**\*.cs" /> 
      <exclude name="**\AssemblyInfo.cs" /> 
     </sources> 
     <references> 
      <include name="lib\*.dll" /> 

     </references> 
    </csc> 

Cette façon dont vous construisez tout ce qui a une extension .cs au lieu d'utiliser le csproj ou d'un fichier SLN. Tous les développeurs sont invités à placer des DLL tierces référencées dans un dossier lib connu. Je l'ai utilisé seulement avec la bibliothèque de classes et Web projets d'application, je ne suis pas sûr que c'est aussi simple avec projets site Web.