使用Azure SDK 2.9.6的MSBuild Tools 2017

Rob*_*bar 7 msbuild azure visual-studio-2017

是的,那里有类似的问题,但它们与VS 2017无关:

我最近从VS 2015升级到VS 2017.在我的本地开发计算机上一切正常,Azure应用程序(使用Azure SDK 2.9.6)构建并启动.

但是在TeamCity服务器上(MS Build Tools 2017 - 工具版本15.0),我收到以下错误:

MSB4019:找不到导入的项目"C:\ Program Files(x86)\ Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\VisualStudio\v15.0\Windows Azure Tools\2.9\Microsoft.WindowsAzure.targets".确认声明中的路径是否正确,以及该文件是否存在于磁盘上.

构建服务器/ MSBuild尝试Microsoft.WindowsAzure.targets在目录中找到:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\VisualStudio\v15.0\Windows Azure Tools\2.9\

但它实际上在目录中:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\[VisualStudioVersion]\MSBuild\Microsoft\VisualStudio\v15.0\Windows Azure Tools\2.9\

[VisualStudioVersion] 可以具有以下值"社区","专业","企业"

是的,我已经安装了构建工具(https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15).

是的,我已经将整个Windows Azure Tools文件夹复制到了BuildTools\MSBuild\Microsoft\VisualStudio\v15.0,但是在我的F#项目中又出现了另一个错误:

MSB4057:项目中不存在目标"GetTargetFrameworkProperties".

似乎新的MS Build Tools 2017无法与Windows Azure一起正常运行.还有解决方法吗?或者是切换回旧版MSBuild的唯一选择?

Rob*_*bar 6

新的独立版BuildTools目前不支持Windows Azure目标.因此,如果要将新的MSBuild 2017与Azure SDK一起使用,则必须在构建服务器上安装完整的VS 2017安装.

注意:您可能必须重新启动TeamCity(代理)才能识别MSBuild路径.运行构建后,您可以在选项卡'parameters'中看到使用过的MSBuild路径:

MSBuildTools15.0_x64_Path: C:\Program Files (x86)\Microsoft Visual Studio\2017\[VS_VERSION]\MSBuild\15.0\bin\amd64 MSBuildTools15.0_x86_Path: C:\Program Files (x86)\Microsoft Visual Studio\2017\[VS_VERSION]\MSBuild\15.0\bin [VS_VERSION]可以是Community,Professional或Enterprise

我仍然GetTargetFrameworkProperties从F#项目得到错误,通过添加标志解决了这个问题:

/p:VisualStudioVersion=15.0

到MSBuild任务.

有关更多信息,请参阅https://github.com/Microsoft/msbuild/issues/1888