警告:仅从程序集中获取部分类型:Microsoft.Azure.WebJobs.Extensions.Storage

nmi*_*026 11 c# asp.net azure azure-webjobs azure-webjobssdk

我有一个简单的 .NET V3 WebJob,在 .NET 网站中启动并运行了一个计时器触发器,如本答案所述:Scheduled .NET WebJob V3 example

但是,在输出中,我收到此警告:

warn: Host.Startup[0] Warning: Only got partial types from assembly: Microsoft.Azure.WebJobs.Extensions.Storage, Version=3.0.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 The following loader failures occured when trying to load the assembly: - Could not load file or assembly 'System.ComponentModel.Annotations, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. - Method 'Commit' in type 'Microsoft.Azure.WebJobs.Host.Blobs.Bindings.DelegatingCloudBlobStream' from assembly 'Microsoft.Azure.WebJobs.Extensions.Storage, Version=3.0.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' does not have an implementation. - Method 'Commit' in type 'Microsoft.Azure.WebJobs.Host.Blobs.Bindings.DelegatingCloudBlobStream' from assembly 'Microsoft.Azure.WebJobs.Extensions.Storage, Version=3.0.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' does not have an implementation. - Method 'Commit' in type 'Microsoft.Azure.WebJobs.Host.Blobs.Bindings.DelegatingCloudBlobStream' from assembly 'Microsoft.Azure.WebJobs.Extensions.Storage, Version=3.0.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' does not have an implementation. - Method 'Commit' in type 'Microsoft.Azure.WebJobs.Host.Blobs.Bindings.DelegatingCloudBlobStream' from assembly 'Microsoft.Azure.WebJobs.Extensions.Storage, Version=3.0.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' does not have an implementation. - Could not load type 'Microsoft.WindowsAzure.Storage.Table.TableQuerySegment' from assembly 'Microsoft.WindowsAzure.Storage, Version=9.3.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. This can occur if the assemblies listed above are missing, outdated or mismatched. Exception message: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) at System.Reflection.RuntimeModule.GetTypes() at System.Reflection.Assembly.GetTypes() at Microsoft.Azure.WebJobs.Host.Indexers.DefaultTypeLocator.FindTypes(Assembly assembly, IEnumerable`1 extensionAssemblies) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Indexers\DefaultTypeLocator.cs:line 115

这是 GitHub ( https://github.com/Azure/azure-webjobs-sdk/issues/2060 )上的一个未决问题。有没有人有解决办法?

更重要的是,它是否以任何方式影响功能?GitHub 问题 OP 说不,但最好有人确认这一点。

nmi*_*026 1

安装包“Microsoft.Azure.WebJobs.Host.Storage”版本=“4.1.0”以修复此错误。

另外,为了避免任何混淆,在我修复此问题之前,由于软件包更新,原始问题中的错误消息已变为以下内容:

warn: Host.Startup[0]
  Warning: Only got partial types from assembly: Microsoft.Azure.WebJobs.Host.Storage, Version=4.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  The following loader failures occured when trying to load the assembly:
     - Method 'LogFunctionStarted' in type 'WebJobs.Host.Storage.Logging.PersistentQueueLogger' from assembly 'Microsoft.Azure.WebJobs.Host.Storage, Version=4.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' does not have an implementation.
  This can occur if the assemblies listed above are missing, outdated or mismatched.
  Exception message: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
     at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
     at System.Reflection.Assembly.GetTypes()
     at Microsoft.Azure.WebJobs.Host.Indexers.DefaultTypeLocator.FindTypes(Assembly assembly, IEnumerable`1 extensionAssemblies) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Indexers\DefaultTypeLocator.cs:line 115
Run Code Online (Sandbox Code Playgroud)