我在Visual Studio 15.8.6中有一个Azure Functions(v2)项目,该项目安装了Azure Functions和Web作业工具5.2.60618.0。我正在使用ServiceBusTrigger。当我尝试编译项目时,我不断得到:
严重性代码描述项目文件行抑制状态 错误System.IO.FileNotFoundException:无法加载文件或程序集'Microsoft.Azure.WebJobs,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一。该系统找不到指定的文件。 文件名:'Microsoft.Azure.WebJobs,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = null' 在System.ModuleHandle.ResolveType(RuntimeModule模块,Int32 typeToken,IntPtr * typeInstArgs,Int32 typeInstCount,IntPtr * methodInstArgs,Int32 methodInstCount,ObjectHandleOnStack类型) 在System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule模块,Int32 typeToken,RuntimeTypeHandle [] typeInstantiationContext,RuntimeTypeHandle [] methodInstantiationContext) 在System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken,Type [] genericTypeArguments,Type [] genericMethodArguments) 在System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord,MetadataImport范围,Assembly和lastAptcaOkAssembly,RuntimeModule装饰模块,MetadataToken装饰令牌,RuntimeType attributeFilterType,布尔值mustBeInheritable,Object []属性,IList派生属性,RuntimeType&AttributeType,IRuntimeMethodInfo&ctor, 在System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule装饰模块,Int32装饰的MetadataToken,Int32 pcaCount,RuntimeType attributeFilterType,布尔值mustBeInheritable,IList派生属性,布尔值isDecoratedTargetSecurityTransparent) 在System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeParameterInfo参数,RuntimeType caType) 在System.Attribute.InternalParamGetCustomAttributes(ParameterInfo参数,类型,布尔值继承) 在MakeFunctionJson.ParameterInfoExtensions.GetDisabledAttribute(ParameterInfo parameterInfo) 在System.Linq.Enumerable.WhereSelectArrayIterator
2.MoveNext() at System.Linq.Enumerable.WhereEnumerableIterator
1.MoveNext() 在System.Linq.Enumerable.FirstOrDefault [TSource](IEnumerable1 source) at MakeFunctionJson.MethodInfoExtensions.GetDisabled(MethodInfo method) at MakeFunctionJson.MethodInfoExtensions.HasUnsuportedAttributes(MethodInfo method, String& error) at MakeFunctionJson.FunctionJsonConverter.<GenerateFunctions>d__9.MoveNext() at System.Collections.Generic.List
1..ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable
1源)处 在MakeFunctionJson.FunctionJsonConverter.TryGenerateFunctionJsons() 在MakeFunctionJson.FunctionJsonConverter.TryRun()WRN:程序集绑定日志记录已关闭。启用程序集绑定 失败日志记录,设置注册表值 [HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)为1。注意: 与程序集绑定失败相关的一些性能损失 记录。要关闭此功能,请删除注册表值 [HKLM \ Software \ Microsoft \ Fusion!EnableLog]。
错误生成函数元数据 InSysFunctionDeviceMinuteDataProcessorV2 C:\ Users \ Dr Kurt Richardson.nuget \ packages \ microsoft.net.sdk.functions \ 1.0.22 \ build \ netstandard1.0 \ Microsoft.NET.Sdk.Functions.Build.targets 39
尽管它抱怨缺少Microsoft.Azure.WebJobs 3.0.0.0,但已在安装的软件包中明确列出了它:
我注意到的一件事是,尽管该项目使用的是.NET Standard v2.0.3,但错误消息是指向包含 netstandard1.0 (... nuget \ packages \ microsoft。 net.sdk.functions \ 1.0.22 \ build \ netstandard1.0 \ Microsoft.NET.Sdk.Functions.Build.targets 3)。 Nuget说,Microsoft.NET.Sdk.Functions v1.0.22针对 .NETStandard,Version = v2.0 。此外,Microsoft.Azure.WebJobs位于 netstandard2.0 文件夹中。这可能是问题吗?还是其他?
答案 0 :(得分:5)
Microsoft.Azure.WebJobs.ServiceBus
已重命名为Microsoft.Azure.WebJobs.Extensions.ServiceBus
,并且Microsoft.Azure.WebJobs
包含在Microsoft.NET.Sdk.Functions
中,无需单独安装。
请将Azure Functions和Web作业工具更新为latest version(现在是15.10.2009.0)。
使用最新的扩展名和模板,当我们创建服务总线触发器时,当前默认的nuget依赖项为
Microsoft.Azure.WebJobs.Extensions.ServiceBus v3.0.0
Microsoft.NET.Sdk.Functions v1.0.22
答案 1 :(得分:0)
将 Microsoft.NET.Sdk.Functions 更新到最新版本