gpt4 book ai didi

找不到 Azure 管道 : error MSB4019 WebApplication. 目标

转载 作者:行者123 更新时间:2023-12-04 16:27:00 26 4
gpt4 key购买 nike

我创建了一个 Episerver Alloy 项目,在设置一些 nuget 包后,该项目可以在 Visual Studio 中构建并运行良好,并且我可以部署到 Azure 并从 VS 在 Azure 中运行,不会出现任何问题。

我现在正在尝试让构建在管道中工作。

按照说明,我添加了一个“nuget 恢复”任务,并将其指向 NuGet.config。这有效。

然后进入构建阶段,并给出:

D:\a\1\s\DxcAlloy.csproj(335,3): 错误 MSB4019: 导入的项目“C:\Program Files\dotnet\sdk\3.1.202\Microsoft\VisualStudio\v16.0\WebApplications\Microsoft.WebApplication.targets”未找到。确认导入声明“C:\Program Files\dotnet\sdk\3.1.202\Microsoft\VisualStudio\v16.0\WebApplications\Microsoft.WebApplication.targets”中的表达式正确,并且该文件存在于磁盘上。

我不知道如何调试这个。有些帖子说如果没有安装 Visual Studio,可能会发生错误,但我无法在 azure pipelines 上安装 Visual Studio...

我删除了现有的“.net 恢复”任务,因为它失败了,并且我猜测我只需要我的 nuget 恢复 - 这是一个猜测。

管道“代理规范”是 vs2017-win16

该项目是在 VS 2019 中创建的。

无奈之下,我添加了一个“使用.NET core”任务,并将版本设置为构建提示缺少的版本,即 3.1.202。

这没有帮助。

有什么想法吗?

最佳答案

如果您使用 dotnet build 构建项目任务。 .csproj 文件中的以下配置将被评估为 C:\Program Files\dotnet\sdk\3.1.202\Microsoft\VisualStudio\v16.0\WebApplications\Microsoft.WebApplication.targets (你从错误中看到了什么)

<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v16.0</VSToolsPath>
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" />

Microsoft.WebApplication.targets 通常存在于以下位置。这就是为什么它会出错 ...Microsoft.WebApplication.targets not found .

In Visual Studio 2017 "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets"

In Visual Studio 2019 "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v16.0\WebApplications\Microsoft.WebApplication.targets"

上述问题的解决方法是使用 Msbuid任务或 Visual Studio build任务来构建您的项目。请参阅下面的示例:

- task: VSBuild@1
inputs:
solution: '**/*.csproj'
enabled: true

对于您的情况,您还需要将代理规范设置为代理 windows-latest 。对于 Visual Studio 2019( v16.0 ) 仅安装在代理 windows-latest 中.

如果您必须在代理“vs2017-win16”上运行管道(仅安装了 Visual Studio 2017( v15.0 ))。您需要更改 VSToolsPath在 .csproj 文件中将其设置为 <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v15.0</VSToolsPath>

如果您必须使用dotnet build构建您的项目。您可以在 csproj 文件中对导入路径进行硬编码作为解决方法。

<Import Project="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v16.0\WebApplications\Microsoft.WebApplication.targets" />

关于找不到 Azure 管道 : error MSB4019 WebApplication. 目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62105387/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com