我正在使用VS 2019 Professional进行开发。我的解决方案中有一个SSAS表格项目。当VS2019P中的建筑物时,没有警告或错误。当我在Azure DevOps的Visual Studio build任务失败中运行构建管道时,就发生此错误。
错误MSB4226:导入的项目“ C:\ Program Files(x86)\ MicrosoftVisual Studio \ 2019 \ Enterprise \ MSBuild \ Business Intelligence语义“ Model \ 1.0 \ Microsoft.AnalysisServices.VSHostBuilder.targets”不是找到了。此外,试图找到“商业智能语义Model \ 1.0 \ Microsoft.AnalysisServices.VSHostBuilder.targets”$(MSBuildExtensionsPath)的后备搜索路径-“ C:\ Program文件(x86)\ MSBuild“。这些搜索路径在” C:\ Program“中定义文件(x86)\ Microsoft VisualStudio \ 2019 \ Enterprise \ MSBuild \ Current \ Bin \ amd64 \ msbuild.exe.Config”。确认声明中的路径正确,并且文件在磁盘上的搜索路径之一中。
我的经纪人是:
我的管道包括:
我在查看详细日志时注意到,构建路径似乎在引用企业版。但是所有其他项目都在构建。
[当我在Azure DevOps中运行构建管道时,Visual Studio构建该错误导致任务失败。
此问题的直接原因是,SSAS tabular project
在其项目文件的末尾有此行:
<Import Project="$(MSBuildExtensionsPath)\Business Intelligence Semantic Model\1.0\Microsoft.AnalysisServices.VSHostBuilder.targets" />
[使用msbuild生成项目时,如果找不到所需的xx.targets
文件,则发生MSB4226。在我检查之后,丢失的文件来自一个vs extension,我们必须手动安装。
因此,在本地计算机中,我们能够在VS中正确地创建,开发和构建SSAS项目之后安装该扩展名:
但是对于Microsoft托管的Windows-2019代理,由于默认情况下未安装扩展程序,因此构建管道中的msbuild / VSbuild任务无法构建项目,这会导致您遇到问题。] >
[有一个相似的功能请求here,如果有任何更新,您可以投票并关注它以获取新闻。
关于临时解决方法
,您可以考虑使用self-hosted agent运行构建。将自代理程序安装到一台装有VS及其扩展名的计算机上,并在配置构建管道时指定使用自代理程序。构建应该工作。[此外,您可以尝试在构建任务之前使用命令here添加命令行任务,以在构建之前安装扩展。但是由于扩展包是构建版,因此每次运行构建时,它将大大增加构建时间。 (不推荐)
希望以上所有帮助:)