2017-08-15 1 views
0

Ich habe Ketten in TeamCity, wo das abhängige Artefakt in/bin-Verzeichnis des Hauptprojekts kopiert wird. Die Projektdatei verweist auf das Artefakt. Das funktioniert alles.Teamcity .Net-Projekt, bedingte Projektverweis beim Erstellen in Visual Studio

Was ich möchte, ist eine Projektdatei enthalten, anstelle der binären Referenz, beim Erstellen/Debuggen von Visual Studio. Ich habe einige Ansätze ausprobiert, z. B. die Verwendung von Bedingungen in der Projektdatei, aber gibt es einen schönen, sauberen Weg, dies zu erreichen?

Antwort

1

Vielleicht ist da der Teil der Lösung. Möglichkeit, mehrere Referenztypen von Projekten zu verwenden.

<ItemGroup Condition=" '$(ReferencedDACPAC)' == '' "> 
    <ProjectReference Include="..\OmniUS\OmniUS.sqlproj"> 
     <Name>OmniUS</Name> 
     <Project>{26075a62-f6b0-40c3-baa2-b9a9829da3c4}</Project> 
     <Private>False</Private> 
     <SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors> 
    </ProjectReference> 
    <ProjectReference Include="..\OmniUS_Finance_Jural\OmniUS_Finance_Jural.sqlproj"> 
     <Name>OmniUS_Finance_Jural</Name> 
     <Project>{c8b0aee7-c2a4-4370-8451-13b455bb5363}</Project> 
     <Private>False</Private> 
     <SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors> 
    </ProjectReference> 
    </ItemGroup> 
    <ItemGroup Condition=" '$(ReferencedDACPAC)' == 'true' "> 
    <ArtifactReference Include="..\DacPacs\OmniUS.sqlproj.dacpac"> 
     <SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors> 
    </ArtifactReference> 
    <ArtifactReference Include="..\DacPacs\OmniUS_Finance_Jural.sqlproj.dacpac"> 
     <SuppressMissingDependenciesErrors>False</SuppressMissingDependenciesErrors> 
    </ArtifactReference> 
    </ItemGroup> 

Als ich in Teamcity bauen, ich sende ReferencedDACPAC als "System" Variable in der Build und damit auf "ArtifactReference" beziehen. Wenn ich in VisualStudio baue, gibt es keine Variable und die Referenzierung tritt als "ProjectReference" auf.

+0

Hmm ok, das ist ein interessanter Ansatz, danke .. Ich entschied mich dafür, die csproj-Datei in Subversion zu sperren, aber ich kann diesen Ansatz untersuchen, wenn ich die Zeit bekomme .. danke nochmal. –

Verwandte Themen