我希望我的项目具有以下软件包
现在我拥有最新版本
具有以下WebJobs依赖项:
有趣的是,即使版本要求明显冲突,Visual Studio也不会将其标记为问题(解决方案资源管理器中没有黄色三角形)。当我尝试构建Function App项目时,出现错误
严重性代码描述项目文件行抑制状态 错误System.IO.FileNotFoundException:无法加载文件或 程序集'Microsoft.Azure.WebJobs,Version = 3.0.0.0,Culture = neutral, PublicKeyToken = null”或其依赖项之一。系统无法 查找指定的文件。文件名:“ Microsoft.Azure.WebJobs, 版本= 3.0.0.0,文化=中性,PublicKeyToken =空' 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,Boolean&ctorHasParameters,Boolean& isVarArg) System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule 装饰模块,Int32装饰元数据令牌,Int32 pcaCount, RuntimeType attributeFilterType,布尔值mustBeInheritable,IList namedAttributes,布尔值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)
1..ctor(IEnumerable
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.List1 collection)
1源)位于 MakeFunctionJson.FunctionJsonConverter.TryGenerateFunctionJsons()
at System.Linq.Enumerable.ToList[TSource](IEnumerable
在MakeFunctionJson.FunctionJsonConverter.TryRun()WRN:程序集绑定日志记录已关闭。启用程序集绑定 失败日志记录,设置注册表值 [HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)为1。注意: 与程序集绑定失败相关的一些性能损失 记录。要关闭此功能,请删除注册表值 [HKLM \ Software \ Microsoft \ Fusion!EnableLog]。
生成函数元数据时出错
以任何方式摆脱Nuget地狱,还是我不能使用所有这些软件包?我尝试查看以前的版本,似乎没有办法让他们所有人都同意WebJobs的版本。通常如何解决这些情况?
答案 0 :(得分:1)
删除Microsoft.Azure.WebJobs.ServiceBus
,新程序包现在称为Microsoft.Azure.WebJobs.Extensions.ServiceBus(3.0.0)
。请参见v2函数中的package references。
此外,Microsoft.NET.Sdk.Functions(1.0.22)
包含Newtonsoft.Json(11.0.2)
和Microsoft.Azure.WebJobs.Extensions (3.0.0)
,无需单独安装它们。并且Microsoft.Azure.WebJobs.Extensions.ServiceBus(3.0.0)
也包含Microsoft.Azure.ServiceBus(3.0.2)
,只要不需要最新版本,您也不需要安装它。
例如,您可以在VS中创建v2服务总线触发模板,而只需添加Microsoft.Azure.WebJobs.Extensions.Storage (3.0.0)
即可实现目标。