【发布时间】:2017-08-16 14:58:26
【问题描述】:
我在 TeamCity 中有构建链,其中依赖的工件被复制到主项目的 /bin 目录。项目文件引用了工件。一切正常。
我想要的是在从 Visual Studio 构建/调试时允许包含项目文件,而不是二进制引用。我尝试了一些方法,例如在项目文件中使用条件,但是有没有一种很好的干净方法来解决这个问题?
【问题讨论】:
我在 TeamCity 中有构建链,其中依赖的工件被复制到主项目的 /bin 目录。项目文件引用了工件。一切正常。
我想要的是在从 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 作为构建中的“系统”变量发送,因此引用“ArtifactReference”。当我在 VisualStudio 中构建时,没有 var,并且引用发生为“ProjectReference”。
【讨论】: