【发布时间】:2018-08-01 06:10:06
【问题描述】:
我有一个用 C# 编写的 Azure Function 应用程序。我可以使用 Visual Studio 2017(专业版,15.5.3 版)在本地运行和调试它。我还可以在 vs 2017 的开发人员命令提示符下使用 msbuild 在本地构建它。
此应用不会在我们的 Jenkins 实例上构建 - 使用 Visual Studio 构建工具或通过在 VM 上安装 Visual Studio Community(我没有构建服务器的专业许可证)并在那里使用开发人员命令提示符. (我已确保已安装 .NET Core 构建工具,请参阅 Visual Studio 2017 MSBuild failed to build Azure Functions)
我收到以下错误:
C:\Program Files\dotnet\sdk\2.1.4\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets(557,9):
错误 MSB4186:静态方法调用语法无效:“[System.IO.Directory]::GetParent().get_Name()”。
找不到方法“System.IO.Directory.GetParent”。静态方法调用应采用以下形式:$([FullTypeName]::Method()),例如$([System.IO.Path]::Combine(a,b))。
[c:\jenkins\workspace\Folder.Name\Job Name\Project.Name\Project.Name.csproj]
我已检查上述 SDK 是否与在我的本地计算机上运行的版本相同。
我需要做什么才能让这个 VM 能够构建一个 azure 函数应用程序?
【问题讨论】:
-
您是否可以共享触发 System.IO.Directory::GetParent() 代码路径的代码?这与函数无关,因此可能是某种配置问题。
-
另外,您可能需要检查是否在 Azure Functions SDK NuGet 包上使用 v1.0.8。我在使用此版本的构建服务器上遇到了构建问题,并将其升级到昨天发布的 v1.0.9,解决了我的问题。注意:我没有遇到与您相同的错误,但值得一试
-
@ChrisAnderson-MSFT FWIW .... 我遇到了同样的错误,对于我们正尝试使用 TeamCity 构建的一组非常基本的 azure 功能。 ...另外,将 Functions SDK 更新到 1.0.9 对我没有任何影响。
标签: visual-studio jenkins visual-studio-2017 .net-core azure-functions