2008-10-01 11 views

Antwort

21

Sie können nicht mehr als einen Master-Csproj haben. Aber weil die untere Verdrahtung des csproj mit msbuild erfolgt, können Sie einfach mehrere partielle csproj haben, die sich gegenseitig importieren. Die Lösungsdatei würde am meisten abgeleitet csproj.

Project1.csproj

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    .... 
</Project> 

project2.csproj

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Import Project="project1.csproj" /> 
    ... 
</Project> 

project.csproj - das ist das Hauptprojekt, die von der Lösungsdatei bezeichnet wird.

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Import Project="project2.csproj" /> 
    ... 
</Project> 

Fazit ist, dass msbuild mit Import Funktion, die Sie teilweise csproj Dateien haben können, wo jeder einzelnen Definitionen enthalten würde, die das Hauptprojekt (project.csproj in meinem Beispiel) verwenden würde.


Visual Studio eine Sicherheitswarnung für Projekt Dialog zeigen, wenn Sie Ihre geändertene Lösung oder Projektdatei öffnen. Wählen Sie die Option Projekt laden normalerweise und drücken Sie OK. Wenn wieder die Lösung Öffnen wird später die Warnung nicht angezeigt werden, da die Konfiguration Projekt laden Normalerweise in der suo Datei gespeichert ist.

-2

Nun können Sie in eine große Lösung kombiniert mehrere Projekte haben, aber ich glaube nicht, dass ganz ist, was Sie im Sinn hatte, als jedes Projekt ein komplettes Projekt in diesem Fall sein muss.

4

Ja, Sie können Informationen über mehrere Dateien verteilen. Sie können Import Element (MSBuild) verwenden.

Beachten Sie, dass Visual Studio Sie annoying security warning geben wird, wenn Sie versuchen, die Projektdatei zu öffnen, die anderen Projektdateien enthält.

Nützliche linky von MSDN:

How to: Use the Same Target in Multiple Project Files

Beachten Sie, dass externe Dateien .targets Erweiterung von Konventionen.

+0

Sie können wählen, ob Projekt normalerweise geladen werden soll und wann das Projekt das nächste Mal ohne die Warnung geöffnet wird. Dies wird in der SUO-Datei gespeichert. –

+1

Ich weiß, aber SUO-Dateien in der Regel nicht unter Quellcodeverwaltung gespeichert. – aku