【发布时间】:2019-08-13 20:56:49
【问题描述】:
我正在尝试在 docker 容器中运行 nuget restore mySolution.sln。
在大多数情况下,它似乎工作得很好。软件包似乎恢复正常,但在恢复之前,它显示此错误:
C:\src\myProject\mySolution.csproj(317,11):
错误 MSB4226:找不到导入的项目“C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets”。
此外,尝试在 $(VSToolsPath) 的后备搜索路径中找到“WebApplications\Microsoft.WebApplication.targets”
- “C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v15.0”。
这些搜索路径在“C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\bin\msbuild.exe.Config”中定义。确认声明中的路径是正确的,并且该文件存在于磁盘上的任一搜索路径中。
根据我的阅读,这意味着我需要 nuget 包 MSBuild.Microsoft.VisualStudio.Web.targets。我做了一个nuget安装,但错误并没有消失。 (它只是将它放在我运行它的任何地方。我尝试将它与我的解决方案放在包文件夹中。两者都没有任何效果。)
如何使用命令行工具修复此错误?(没有 GUI,因为这是 docker 容器)。
【问题讨论】:
-
我不认为这是您缺少的包。您缺少构建该 Web 项目所需的 SDK/目标。您缺少网络工作负载。
标签: visual-studio docker msbuild