Azure / azure-functions-vs-build-sdk

MSBuild task for Azure Functions
MIT License
96 stars 62 forks source link

Conflit with sdk 1.0.14 and Microsoft.Azure.Webjobs #222

Open lgmorand opened 5 years ago

lgmorand commented 5 years ago

We just upgraded a working functions project to use Sdk.Functions 1.0.14 which reference Microsoft.Azure.Webjobs 2.2.0

Still, at the compilation, we get the error telling that version 2.1.0 of Microsoft.Azure.Webjobs is missing (File not found) because of a reference present in Microsoft.Net.Sdk.Functions.Build.Targets. it's on compilation time, no nuget restore.

We opened the targets file by dezipping the nuget file but no reference are present the targets file The error line seems to be here:

<GenerateFunctions
      TargetPath="$(TargetPath)"
      OutputPath="$(TargetDir)"
      UseNETCoreGenerator="$(UseNETCoreGenerator)"
      UseNETFrameworkGenerator="$(UseNETFrameworkGenerator)"
      UserProvidedFunctionJsonFiles="@(UserProvidedFunctionJsonFiles)" />

Even adding a direct reference to the Webjobs 2.2.0 doesn't fix it. at compile time, the SDK require the 2.1.0 and we don't know why

lgmorand commented 5 years ago

Seems the same issue than my colleague here: https://github.com/Azure/azure-webjobs-sdk/issues/1633 but we don't do anything custom. we downgraded the SDK back 1.0.11 until a fix is found

maddentist commented 5 years ago

I'm experiencing the same problem with SDK 1.0.22 which gives this error while compiling :

7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assembly 'Microsoft.Azure.WebJobs, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null' ou une de ses dépendances. Le fichier spécifié est introuvable. 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : Nom de fichier : 'Microsoft.Azure.WebJobs, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null' 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : à System.ModuleHandle.ResolveMethod(RuntimeModule module, Int32 methodToken, IntPtr typeInstArgs, Int32 typeInstCount, IntPtr methodInstArgs, Int32 methodInstCount) 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : à System.ModuleHandle.ResolveMethodHandleInternalCore(RuntimeModule module, Int32 methodToken, IntPtr[] typeInstantiationContext, Int32 typeInstCount, IntPtr[] methodInstantiationContext, Int32 methodInstCount) 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : à System.ModuleHandle.ResolveMethodHandleInternal(RuntimeModule module, Int32 methodToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext) 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : à System.Reflection.CustomAttributeData..ctor(RuntimeModule scope, CustomAttributeRecord caRecord) 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : à System.Reflection.CustomAttributeData.GetCustomAttributes(RuntimeModule module, Int32 tkTarget) 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : à System.Reflection.CustomAttributeData.GetCustomAttributesInternal(RuntimeMethodInfo target) 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : à MakeFunctionJson.MethodInfoExtensions.HasFunctionNameAttribute(MethodInfo method) 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : à MakeFunctionJson.FunctionJsonConverter.d__9.MoveNext() 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : à System.Collections.Generic.List1..ctor(IEnumerable1 collection) 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : à System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : à MakeFunctionJson.FunctionJsonConverter.TryGenerateFunctionJsons() 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : à MakeFunctionJson.FunctionJsonConverter.TryRun() 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : AVT : la journalisation de liaison d'assembly est désactivée. 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : Pour activer la journalisation des échecs de liaison d'assembly, attribuez la valeur 1 à la valeur de Registre [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD). 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : Remarque : une certaine perte de performance est associée à l'enregistrement dans le journal des échecs de liaison d'assembly. 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : Pour désactiver cette fonctionnalité, supprimez la valeur de Registre [HKLM\Software\Microsoft\Fusion!EnableLog]. 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : Error generating functions metadata 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : 7>C:\Users\Mathi.nuget\packages\microsoft.net.sdk.functions\1.0.22\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets(39,5): error : Metadata generation failed.

Fredrik-C commented 5 years ago

Same issue still...

SDK 1.0.24

Severity Code Description Project File Line Suppression State Error System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Azure.WebJobs, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. File name: 'Microsoft.Azure.WebJobs, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' at System.ModuleHandle.ResolveType(RuntimeModule module, Int32 typeToken, IntPtr typeInstArgs, Int32 typeInstCount, IntPtr methodInstArgs, Int32 methodInstCount, ObjectHandleOnStack type) at System.ModuleHandle.ResolveTypeHandleInternal(RuntimeModule module, Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext) at System.Reflection.RuntimeModule.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments) at System.Reflection.CustomAttribute.FilterCustomAttributeRecord(CustomAttributeRecord caRecord, MetadataImport scope, Assembly& lastAptcaOkAssembly, RuntimeModule decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilterType, Boolean mustBeInheritable, Object[] attributes, IList derivedAttributes, RuntimeType& attributeType, IRuntimeMethodInfo& ctor, Boolean& ctorHasParameters, Boolean& isVarArg) at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent) at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeParameterInfo parameter, RuntimeType caType) at System.Attribute.InternalParamGetCustomAttributes(ParameterInfo param, Type type, Boolean inherit) at MakeFunctionJson.ParameterInfoExtensions.GetDisabledAttribute(ParameterInfo parameterInfo) at System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext() at System.Linq.Enumerable.WhereEnumerableIterator1.MoveNext() at 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.List1..ctor(IEnumerable1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source) at MakeFunctionJson.FunctionJsonConverter.TryGenerateFunctionJsons() at MakeFunctionJson.FunctionJsonConverter.TryRun()

WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].