我的Visual Studio 2019安装程序不会构建我刚刚编写的Web服务,并且说我对于这样的WebApplications的路径不正确:
C:\Users\rudiejd\source\repos\CrowdRecWeb\CrowdRecWeb\CrowdRecWeb.csproj(109,3): error MSB4019: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VisualStudio\v16.0\WebApplications" was not found. Confirm that the expression in the Import declaration "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VisualStudio\v16.0\WebApplications" is correct, and that the file exists on disk.
这是我的.csproj中设置MSBuild路径的部分:
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild</VSToolsPath>
</PropertyGroup>
<Import Project="$(VSToolsPath)\Microsoft\VisualStudio\v16.0\WebApplications" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)Microsoft\VisualStudio\v16.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
这是什么问题?
答案 0 :(得分:0)
这是什么问题?
csproj文件出问题了。就像上面评论的汉斯一样,您正在将目录传递到Import
元素。
但是在 Msbuild 中,您应该将目标文件(path\xx.targets
)传递到Import
元素。像这样的简单示例:<Import Project="xxx.targets"/>
。更多详细信息,请参阅this document。
解决方案:
根据您的项目文件,正确的格式应为:
<Import Project="$(VSToolsPath)\Microsoft\VisualStudio\v16.0\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)Microsoft\VisualStudio\v16.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
编辑项目文件后,重新加载项目并重建它。所有人都应该工作良好。
此外:
如果遇到找不到类似Microsoft.WebApplication.targets
之类的错误,只需确保已安装与Web开发相关的工作负载:
希望它会有所帮助:)