Summary
We have been experiencing a rogue CurlException being thrown without a very meaningful stack trace in an dotnetcore 2 ASP.NET app. This seems to be sent to AI from the AI Dependency Tracking Module. It's really just an annoyance in our logs, because it surfaces in our code as an Http response message from HttpClient. Is this a bug in System.Net.Http where it's logging an exception when it shouldn't? Is there a way to disable this, other than by disabling all of dependency tracking?
Environment
.NET Core 2.1.4
Host: Ubuntu 16.04 (Xenial) on an Azure Scale Set
Exception info (from Application Insights)
problemId: System.Net.Http.CurlException at System.Net.Http.CurlHandler.ThrowIfCURLEError
type: System.Net.Http.CurlException
assembly: System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
method: ystem.Net.Http.CurlHandler.ThrowIfCURLEError
outerType: System.Net.Http.HttpRequestException
outerMessage: An error occurred while sending the request.
outerAssembly: System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
outerMethod: System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
innermostType: System.Net.Http.CurlException
innermostMessage: Couldn't connect to server
parsed stack trace:
{"assembly":"System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a","method":"System.Net.Http.CurlHandler.ThrowIfCURLEError","level":0,"line":0}
{"assembly":"System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a","method":"System.Net.Http.CurlHandler+MultiAgent.FinishRequest","level":1,"line":0}
sdkVersion: rdddsc:2.5.0-33031
Related
Currently my Application containing both .net standard and .net framework Application , during the installation of a msi I am getting the below error.
Error 1001. Error 1001. An exception occurred in the OnAfterInstall event handler of Interop.Service.Installer. --> Could not load file or assembly 'System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.
when I am tring to add the System.Diagnostics.EventLog of .net standard library into .net framework app its showing duplication error.
Error CS0433 The type 'EventLogEntryType' exists in both 'System.Diagnostics.EventLog, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' and 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' SPI.Service D:\Cluster01_Test\Process\Service\ServiceInstaller.cs
I'm trying to publish a .NET Core (3.1) Web Application for the first time in Visual Studio 2019 and I get the error:
System.BadImageFormatException: Could not load file or assembly 'Microsoft.VisualStudio.DevOps.Contract, Version=15.4.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The module was expected to contain an assembly manifest.
File name: 'Microsoft.VisualStudio.DevOps.Contract, Version=15.4.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' ---> System.BadImageFormatException: Could not load file or assembly 'Microsoft.VisualStudio.DevOps.Contract, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The module was expected to contain an assembly manifest.
File name: 'Microsoft.VisualStudio.DevOps.Contract, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
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].
at Microsoft.Publish.Framework.ViewModel.ProfileSelectorViewModel.FetchContinuousDeliveryService()
at Microsoft.Publish.Framework.ViewModel.ProfileSelectorViewModel.InitializeContinuousDelivery()
at Microsoft.Publish.Framework.ViewModel.ProfileSelectorViewModel..ctor(IThreadSwitcher threadSwitcher, IPublishServiceProvider serviceProvider, IVsHierarchy hierarchy, ITelemetryProvider telemetryProvider, IVsWrappersFactory vsWrappersFactory, IReadOnlyList`1 providers, IFeatureManager featureDetectionManager, IProfileController profileController, IDependenciesManagerProvider dependenciesManagerProvider)
at Microsoft.Publish.Framework.Provider.DefaultPublishTabProvider.CreateViewAsync(IVsHierarchy project, IAsyncServiceProvider serviceProvider, CancellationToken cancellationToken)
at Microsoft.Publish.Framework.Provider.PublishProjectDesignerTabProvider.<CreateViewAsync>d__7.MoveNext()
The publish window seems to not be fully drawn out in VS 2019 afterward. Any ideas out there?
I've found an answer to this issue and I'm posting it here. I reinstalled VS2019. I may have missed installing key components during original installation, such as Azure, I'm uncertain on that detail.
I am trying to deploy my ASP.Net MVC4 application to Azure but it is crashing during deployment. Apparently this is because something is requesting assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' . This all works perfectly locally and is a nightmare to debug on Azure as deployment takes 25-30 minutes for me.
I had thought I had configured CLR to not require MVC3 even if something wanted it by using:
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
If I look at the ObjectBrowser nothing seems to be requiring MVC3. What is the best way to figure out what is requesting it? I have various Nuget packages in the project. I guess one of them is requesting MVC3? Is there anyway to see a list of all dependencies etc?
I get:
CLR exception type: System.Reflection.ReflectionTypeLoadException
"Unable to load one or more of the requested types. Retrieve the
LoaderExceptions property for more information."
Microsoft.WindowsAzure.ServiceRuntime Critical: 201 : ModLoad:
000007fc906a0000 000007fc907a9000
D:\Windows\Microsoft.NET\Framework64\v4.0.30319\diasymreader.dll Role
entrypoint could not be created: System.TypeLoadException: Unable to
load the role entry point due to the following exceptions:
-- System.IO.FileLoadException: Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The
located assembly's manifest definition does not match the assembly
reference. (Exception from HRESULT: 0x80131040) File name:
'System.Web.Mvc, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35'
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].
---> 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.WindowsAzure.ServiceRuntime.RoleEnvironment.GetRoleEntryPoint(Assembly
entryPointAssembly) --- End of inner exception stack trace ---
at
Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.GetRoleEntryPoint(Assembly
entryPointAssembly) at
Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.CreateRoleEntryPoint(RoleType
roleTypeEnum) at
Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.InitializeRoleInternal(RoleType
roleTypeEnum) ModLoad: 000007fca2f00000 000007fca2f96000
D:\Windows\SYSTEM32\clbcatq.dll ntdll!ZwTerminateProcess+0xa:
000007fc`a2fa2eaa c3 ret
and
Exception object: 00000000017e0070 Exception type: System.TypeLoadException Message: Unable to load the role
entry point due to the following exceptions:
-- System.IO.FileLoadException: Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The
located assembly's manifest definition does not match the assembly
reference. (Exception from HRESULT: 0x80131040) File name:
'System.Web.Mvc, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35'
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].
InnerException: System.Reflection.ReflectionTypeLoadException, Use
!PrintException 00000000017dcf08 to see more. StackTrace (generated):
StackTraceString: HResult: 80131522
You can use Reflector to load the Nuget packages and look at their dependencies. Should be fairly easy to spot whether one is dependent upon MVC3. Your assembly binding looks fine though. Do you have multiple projects in your solution? Could one of those be taking a dependency on a Nuget package that depends on MVC3?
This post may help: How can I build a 'dependency tree diagram' from my .NET solution
I am experiencing the following error while loading a website:
Server Error in '/DatingGridView' Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Could not load file or assembly 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Source Error:
Line 52:
Line 53:
Line 54:
Line 55:
Line 56:
Source File: D:\VSProjects\DatingGridView\web.config Line: 54
Assembly Load Trace: The following information can be helpful to determine why the assembly 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' could not be loaded.
=== Pre-bind state information ===
LOG: User = PassionFruit-PC\PassionFruit!!!
LOG: DisplayName = System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///D:/VSProjects/DatingGridView/
LOG: Initial PrivatePath = D:\VSProjects\DatingGridView\bin
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: D:\VSProjects\DatingGridView\web.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Post-policy reference: System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
LOG: Attempting download of new URL file:///C:/Users/PassionFruit!!!/AppData/Local/Temp/Temporary ASP.NET Files/datinggridview/5a514f00/39d65547/System.Web.Extensions.DLL.
LOG: Attempting download of new URL file:///C:/Users/PassionFruit!!!/AppData/Local/Temp/Temporary ASP.NET Files/datinggridview/5a514f00/39d65547/System.Web.Extensions/System.Web.Extensions.DLL.
LOG: Attempting download of new URL file:///D:/VSProjects/DatingGridView/bin/System.Web.Extensions.DLL.
LOG: Attempting download of new URL file:///D:/VSProjects/DatingGridView/bin/System.Web.Extensions/System.Web.Extensions.DLL.
LOG: Attempting download of new URL file:///C:/Users/PassionFruit!!!/AppData/Local/Temp/Temporary ASP.NET Files/datinggridview/5a514f00/39d65547/System.Web.Extensions.EXE.
LOG: Attempting download of new URL file:///C:/Users/PassionFruit!!!/AppData/Local/Temp/Temporary ASP.NET Files/datinggridview/5a514f00/39d65547/System.Web.Extensions/System.Web.Extensions.EXE.
LOG: Attempting download of new URL file:///D:/VSProjects/DatingGridView/bin/System.Web.Extensions.EXE.
LOG: Attempting download of new URL file:///D:/VSProjects/DatingGridView/bin/System.Web.Extensions/System.Web.Extensions.EXE.
Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433
Your error clearly states:
Could not load file or assembly 'System.Web.Extensions'
Check that you are referencing this in your project and that your .NET framework is installed correctly.
System.Web.Extensions is required for MS Ajax and will appear in your D:\VSProjects\DatingGridView\web.config to enable the correct handlers for ASP.Net 2.0 (comes built in for 3.5). If you haven't installed the MS Ajax Extensions on the machine where you are running this site you'll have the kind of error you've posted.
I am getting the following error which deploying my code in the production server. Code is working fine in development.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Could not load file or assembly 'System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. (E:\QA\form\web.config line 103)
Source Error:
Line 101: </httpHandlers>
Line 102: <httpModules>
Line 103: <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 104: </httpModules>
Line 105: </system.web>
Source File: E:\QA\form\web.config Line: 103
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.3053; ASP.NET Version:2.0.50727.3053
I know this is because :
The server doesn't have .NET 3.5 SP1 installed on it. and code is depending on the .Net 3.5 runtime, but my server only has .Net 2.0.I need at least the ASP.NET AJAX 1.0 download, which should run with .Net 2.0.
But unfortunately i cannot install any of these in my production server. Do we have any other fix for this?
No. If you can't install the dependencies your application requires on the production server, then you must either (1) remove the dependencies from your application that are not present in your production environment (i.e. do things another way); or (2) not deploy in that environment. But, it seems strange that you would not be able to install the latest version of the Framework. Also, you should probably try and better understand the restrictions of your production environment before you develop to a certain Framework level.