使用预编译的 Azure 函数库构建错误
Build Error with pre-compiled Azure Function Library
最近,我使用 Visual Studio Studio Tools for Azure Functions 将使用 C# 脚本 (*.csx
) 的 Azure 函数转换为预编译的 class 库。它在 Visual Studio 2017 年成功构建(以及 运行 宁和调试)。
我想通过我们的 CI 过程构建这个 AF 库。但是,当我在本地 运行 命令 dotnet build
时,它失败并出现以下错误:
C:\Users\ray\.nuget\packages\microsoft.net.sdk.functions.0.2\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(31,5): error : Could not load file or assembly 'Microsoft.Azure.WebJobs.Host, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.
同样的错误也出现在我们的CI构建中。
不确定为什么会出现此错误以及如何解决它。它是 dotnet CLI 的版本吗(我使用的是 v1.1)?是不是其他的?
更新 2018-01-08
根据@theGRS 的新回答,这个问题已经解决了。
上一个答案
这是我的发现。
dotnet msbuild
使用 Microsoft.NET.Sdk.Functions .NETStandard 1.5
库,如果您查看 NuGet 上的依赖项,它不会使用 Microsoft.Azure.WebJobs
但是如果您使用 Visual Studio 2017 msbuild
它将使用 .NETFramework 4.6
版本的库,其中包括 Microsoft.Azure.WebJobs
.
我的建议是暂时使用 MSBuild。
我在 运行 宁 dotnet build
时也遇到了同样的问题,但在将 Microsoft.NET.Sdk.Functions
从 1.0.2 更新到 1.0.7 后不再有这个问题。
在您的 Nuget 包管理器中更新到此包的最新版本,您应该可以再次 运行 dotnet build
。
最近,我使用 Visual Studio Studio Tools for Azure Functions 将使用 C# 脚本 (*.csx
) 的 Azure 函数转换为预编译的 class 库。它在 Visual Studio 2017 年成功构建(以及 运行 宁和调试)。
我想通过我们的 CI 过程构建这个 AF 库。但是,当我在本地 运行 命令 dotnet build
时,它失败并出现以下错误:
C:\Users\ray\.nuget\packages\microsoft.net.sdk.functions.0.2\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(31,5): error : Could not load file or assembly 'Microsoft.Azure.WebJobs.Host, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.
同样的错误也出现在我们的CI构建中。
不确定为什么会出现此错误以及如何解决它。它是 dotnet CLI 的版本吗(我使用的是 v1.1)?是不是其他的?
更新 2018-01-08
根据@theGRS 的新回答
上一个答案
这是我的发现。
dotnet msbuild
使用 Microsoft.NET.Sdk.Functions .NETStandard 1.5
库,如果您查看 NuGet 上的依赖项,它不会使用 Microsoft.Azure.WebJobs
但是如果您使用 Visual Studio 2017 msbuild
它将使用 .NETFramework 4.6
版本的库,其中包括 Microsoft.Azure.WebJobs
.
我的建议是暂时使用 MSBuild。
我在 运行 宁 dotnet build
时也遇到了同样的问题,但在将 Microsoft.NET.Sdk.Functions
从 1.0.2 更新到 1.0.7 后不再有这个问题。
在您的 Nuget 包管理器中更新到此包的最新版本,您应该可以再次 运行 dotnet build
。