2017-08-15 9 views
0

TeamCityでビルドチェーンがあり、そこでは従属案件がメインプロジェクトの/ binディレクトリにコピーされます。プロジェクトファイルは成果物を参照します。それはすべて動作します。Teamcity .Netプロジェクト、Visual Studioでビルドするときの条件付きプロジェクトリファレンス

私が望むのは、Visual Studioからビルド/デバッグするときに、バイナリ参照の代わりにプロジェクトファイルインクルードを許可することです。私はプロジェクトファイルで条件文を使うなど、いくつかのアプローチを試みましたが、これにアプローチするうえでクリーンな方法がありますか?

答えて

1

解決策の一部があるかもしれません。 複数の参照型のprojを使用する方法があります。

<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> 

私はチームシティーでビルドすると、私はビルドの「システム」変数としてReferencedDACPACを送り、ひいては「ArtifactReference」を参照してください。私がVisualStudioをビルドするとき、varはなく、参照は "ProjectReference"として行われます。

+0

こんにちは、興味深いアプローチです。私はSubversionでcsprojファイルをロックする方法をとることにしましたが、私はこのアプローチを調査するかもしれません。 –

関連する問題