使用预编译的Azure函数库生成错误
最近,我使用Visual Studio Studio Tools for Azure Functions将使用C#脚本(*.csx
)的Azure函数转换为预编译的类库。它在Visual Studio 2017中成功构建(以及运行和调试)。使用预编译的Azure函数库生成错误
我想通过我们的CI过程来构建这个AF库。然而,当我运行命令dotnet build
本地失败,出现以下错误:
C:\Users\ray\.nuget\packages\microsoft.net.sdk.functions\1.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)?还有别的吗?
UPDATE 2018年1月8日
据@theGRS https://stackoverflow.com/a/48156446/621827一个新的答案这已得到解决。
以前的答案
这里就是我发现。
dotnet msbuild
使用Microsoft.NET.Sdk.Functions .NETStandard 1.5
库,如果你看一下依赖于NuGet它不使用Microsoft.Azure.WebJobs
但是,如果你使用Visual Studio 2017年msbuild
它将使用.NETFramework 4.6
版,其中包括Microsoft.Azure.WebJobs
图书馆。
我的建议是现在使用MSBuild。我已经写了一个tutorial关于如何做到这一点。
的确,msbuild是最好的解决方法。通过'dotnet build'工作是需要对软件包进行一些更改的东西,我希望这会在稍后发生。 –
@DavidEbbo我如何跟踪这个问题?谢谢! –
@MarcusW我会要求打开一个问题,然后回到这里。 –
我在运行dotnet build
时遇到同样的问题,但在将Microsoft.NET.Sdk.Functions
从1.0.2更新到1.0.7后不再有此问题。
在您的Nuget包管理器中更新到此软件包的最新版本,您应该能够再次运行dotnet build
。
是的,我看到相同。我们会调查并回复你。 –
谢谢@DavidEbbo –
@RayVega您是否解决了将此问题纳入您的CI过程?我有同样的麻烦(使用Appveyor)。 –