【问题标题】:Teamcity .Net project, conditional project reference when building in Visual StudioTeamcity .Net 项目,在 Visual Studio 中构建时的条件项目参考
【发布时间】:2017-08-16 14:58:26
【问题描述】:

我在 TeamCity 中有构建链,其中依赖的工件被复制到主项目的 /bin 目录。项目文件引用了工件。一切正常。

我想要的是在从 Visual Studio 构建/调试时允许包含项目文件,而不是二进制引用。我尝试了一些方法,例如在项目文件中使用条件,但是有没有一种很好的干净方法来解决这个问题?

【问题讨论】:

    标签: visual-studio teamcity


    【解决方案1】:

    可能有部分解决方案。 可以使用几种引用类型的 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”。

    【讨论】:

    • 嗯,好的,这是一个有趣的方法,谢谢.. 我决定采取在颠覆中锁定 csproj 文件的方法,但是当我有时间时,我可能会研究这种方法.. 再次感谢你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 2018-05-25
    相关资源
    最近更新 更多