Teamcity .Net 项目,在 Visual Studio 中构建时的条件项目参考
Teamcity .Net project, conditional project reference when building in Visual Studio
我在 TeamCity 中有构建链,其中依赖的工件被复制到主项目的 /bin 目录。项目文件引用工件。一切正常。
我想要的是当 building/debugging 来自 Visual Studio 时允许包含项目文件,而不是二进制引用。我已经尝试了一些方法,例如在项目文件中使用条件,但是有没有一种干净利落的方法来处理这个问题?
可能有解决的部分。
可以使用几种引用类型的projs。
<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>
当我在 TeamCity 中构建时,我将 ReferencedDACPAC 作为构建中的 "System" 变量发送,因此引用 "ArtifactReference"。当我在 VisualStudio 中构建时,没有 var 并且引用发生为 "ProjectReference".
我在 TeamCity 中有构建链,其中依赖的工件被复制到主项目的 /bin 目录。项目文件引用工件。一切正常。
我想要的是当 building/debugging 来自 Visual Studio 时允许包含项目文件,而不是二进制引用。我已经尝试了一些方法,例如在项目文件中使用条件,但是有没有一种干净利落的方法来处理这个问题?
可能有解决的部分。 可以使用几种引用类型的projs。
<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>
当我在 TeamCity 中构建时,我将 ReferencedDACPAC 作为构建中的 "System" 变量发送,因此引用 "ArtifactReference"。当我在 VisualStudio 中构建时,没有 var 并且引用发生为 "ProjectReference".