【问题标题】:Azure DevOps Pipeline build agent: how to use or replace $(DevEnvDir) in assembly reference HintPath?Azure DevOps Pipeline 构建代理:如何在程序集参考 HintPath 中使用或替换 $(DevEnvDir)?
【发布时间】:2020-03-13 14:20:53
【问题描述】:

我在本地有 Visual Studio 2019 Professional,Azure DevOps 管道构建代理有 Enterprise。

如何在项目文件中引用 ReferenceAssemblies,在本地和构建代理中解析?

Projectfile:本地构建,但由于路径错误,管道构建失败:

<HintPath>$(ProgramFiles)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v9.0\Mono.Android.dll</HintPath>

项目文件:在 azure devops 管道中构建,但由于路径错误,本地构建失败:

<HintPath>$(ProgramFiles)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v9.0\Mono.Android.dll</HintPath>

Projectfile:本地构建,但管道构建失败,因为 $DevEnvDir 未定义

<HintPath>$(DevEnvDir)\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v9.0\Mono.Android.dll</HintPath>

我觉得我在这里遗漏了一些简单的东西......

【问题讨论】:

    标签: msbuild azure-devops azure-pipelines


    【解决方案1】:

    我使用我的 Visual Studio 2019 企业版进行了测试,&lt;HintPath&gt;$(ProgramFiles)\....\Mono.Android.dll&lt;/HintPath&gt;&lt;HintPath&gt;$(DevEnvDir) 都为我工作。

    您可以转到提示路径中指定的文件夹以确保 mono.android.dll 确实存在。您也可以尝试手动定位 mono.android.dll。

    【讨论】:

    • 谢谢,问题不是文件丢失,而是devops构建代理和本地构建环境的区别。
    【解决方案2】:

    【讨论】:

    • 谢谢!虽然 HintPath Condition 在我的情况下有效,但管道变量是更通用的解决方案。
    【解决方案3】:

    你可以使用Condition:

    <Reference Include="Mono.Android.dll">
        <HintPath Condition="Exists('$(ProgramFiles)\Microsoft Visual Studio\2019\Professional')">$(ProgramFiles)\Microsoft Visual Studio\2019\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v9.0\Mono.Android.dll</HintPath>
        <HintPath Condition="Exists('$(ProgramFiles)\Microsoft Visual Studio\2019\Enterprise')">$(ProgramFiles)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v9.0\Mono.Android.dll</HintPath>
    </Reference>
    

    【讨论】:

      猜你喜欢
      • 2019-07-21
      • 2020-07-07
      • 2019-10-05
      • 2022-08-07
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 1970-01-01
      • 2021-06-12
      相关资源
      最近更新 更多