【问题标题】:Visual Studio Online Build Fails on Dependent Project NuGet ReferencesVisual Studio Online 构建在依赖项目 NuGet 引用上失败
【发布时间】:2015-02-05 16:06:38
【问题描述】:

我正在使用 Visual Studio Online 进行我的存储库和构建。这是我的 TFS 层次结构。

            <ClassLibraries>
                │
                ├───<Solution 1>
                │   └───Build.Proj
                │   └───.NuGet
                │       └───NuGet.exe
                │       └───NuGet.Config
                │       └───NuGet.Targets
                │   └───<Project 1>                 // Common Code
                │       └───Project1.csproj
                │   └───<Project 2>                 // Common Code Unit Test
                │       └───Project2.csproj
                │
                ├───<Solution 2>
                │   └───Build.Proj
                │   └───.NuGet
                │       └───NuGet.exe
                │       └───NuGet.Config
                │       └───NuGet.Targets
                │   └───<Project 3>
                │       └───Project1.csproj
                │   └───<Project 4>
                │       └───Project2.csproj

我有一个解决方案 1 的构建定义,它成功构建,根据需要恢复 NuGet 包,没有问题。

解决方案 2.sln 文件包含解决方案 1 中的项目 1 作为依赖项,因为项目 3 和项目 4 都有代码依赖项(解决方案 1 是我的通用代码解决方案,几乎包含在所有内容中)。

解决方案 2 的构建定义失败,因为它找不到项目 1 的 NuGet 依赖项。我猜 Build.Proj 中的 RestorePackages 目标忽略了依赖项目。

              <Target Name="RestorePackages">
                <Exec Command="$(MSBuildThisFileDirectory).NuGet\NuGet.exe restore %(Solution.Identity)" />
              </Target>

我不明白为什么。如果我在解决方案 2 上本地执行“msbuild build.proj”,那么它会成功清理并构建所有项目。

【问题讨论】:

    标签: msbuild azure-devops


    【解决方案1】:

    我发现我的 build.proj 文件需要在这个例子中直接引用解决方案 1:

      <ItemGroup>
        <Solution Include="$(MSBuildThisFileDirectory)*.sln" /> 
        <Solution Include="$(MSBuildThisFileDirectory)..\Solution1\*.sln" />
      </ItemGroup>
    

    这会导致 MSBuild 为依赖项目执行 NuGet 包还原。问题解决了。有点..

    在我删除了所有本地代码并从 repo 中执行 Get Latest 后,我​​意识到 VS2013 表现出我最初看到的行为。所以我现在需要弄清楚如何以与我用于 VSO 和从命令行执行的 msbuild 的 Build.Proj 文件相同的方式构建 IDE。

    【讨论】:

      猜你喜欢
      • 2013-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 2011-02-21
      • 2018-06-20
      • 1970-01-01
      • 2015-03-22
      相关资源
      最近更新 更多