2017-03-16 58 views
5

没错也有类似的问题在那里,但他们都没有涉及到2017年VS:的MSBuild工具2017 Azure的SDK 2.9.6

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

但TeamCity的服务器上(MS生成工具2017年 - 工具版本15.0),我收到以下错误:

MSB4019: The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\Microsoft\VisualStudio\v15.0\Windows Azure Tools\2.9\Microsoft.WindowsAzure.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.

构建服务器/的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: The target "GetTargetFrameworkProperties" does not exist in the project.

这似乎是新的MS生成工具2017年不能与Windows正常工作Azure上。有没有解决方法?或者是切换回旧的MSBuild的唯一选择?

回答

4

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

注意:您可能必须重新启动TeamCity(代理)才能识别MSBuild路径。运行构建后,你可以看到在该选项卡“参数”所使用的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]可以CommunityProfessionalEnterprise

我还是得到了来自F#项目GetTargetFrameworkProperties错误,这通过添加标志解决:

/p:VisualStudioVersion=15.0

到MSBuild任务。

欲了解更多信息,请参阅https://github.com/Microsoft/msbuild/issues/1888