opentelemetry-dotnet-instru.../test/test-applications/integrations/TestApplication.Owin.IIS.Ne...
Igor Kiselev 6e307db05b
Automatic LoaderOptimization.SingleDomain (#4187)
* All non-default app domains use LoaderOptimization.SingleDomain

Solves "Loading this assembly would produce a different grant set from other instances" for IIS .Net Framework applications.
__DDVoidMethodType__  injected to mscorlib.
__DDVoidMethodType__.__DDPatchAppDomainSetup__ use reflection-created delegate that calls
OpenTelemetry.AutoInstrumentation.Loader.AppConfigUpdater.ModifyConfig to modify AppDomainSetup by setting LoaderOptimization.SingleDomain.
That method called from AppDomain.CreateDomain and AppDomainManager.CreateDomainHelper.
OpenTelemetry.AutoInstrumentation.Loader.AppConfigUpdater loader assembly loaded from __DDVoidMethodType__ static ctor.
Added helpers: SignatureBuilder and MemberResolver.

* Added installer parameter to skip GAC registration

Added Asp.Net tests without registration assemblies in GAC.
Removed LoaderOptimization=SingleDomain through registry change for ASP.Net tests.

* Removed LoaderOptimization workaround from test dockerfiles

* Code format applied

* Updated test build to produce no-GAC docker images

* Extended  SignatureBuilder by providing semi-safe wrappers

Moved it to be header-only.
Added unit tests for SignatureBuilder.

* Updated change log and documentation

* Removed Troubleshooting link from IIS instrumentation docs

* Fixed accident docker file changes

* Added comment about callers of AppConfigUpdater.ModifyConfig

* Update CHANGELOG.md typo based on review

Co-authored-by: Chris Ventura <45495992+nrcventura@users.noreply.github.com>

* Smaller cleanups

* Minor names/comments changes based on @zacharycmontoya review

* Fixed formatting

* Make AppConfigUpdater internal

---------

Co-authored-by: Chris Ventura <45495992+nrcventura@users.noreply.github.com>
2025-05-12 13:39:04 +02:00
..
Properties Re-enable dotnet format in CI (#3946) 2025-01-16 07:42:53 +01:00
Directory.Build.props [WCF] Fix WCF instrumentation initialization (#3650) 2024-09-20 06:55:45 +00:00
Dockerfile Automatic LoaderOptimization.SingleDomain (#4187) 2025-05-12 13:39:04 +02:00
Startup1.cs [WCF] Fix WCF instrumentation initialization (#3650) 2024-09-20 06:55:45 +00:00
TestApplication.Owin.IIS.NetFramework.csproj [WCF] Fix WCF instrumentation initialization (#3650) 2024-09-20 06:55:45 +00:00
Web.Debug.config [WCF] Fix WCF instrumentation initialization (#3650) 2024-09-20 06:55:45 +00:00
Web.Release.config [WCF] Fix WCF instrumentation initialization (#3650) 2024-09-20 06:55:45 +00:00
Web.config CodeQL fixes - tests applications (#4158) 2025-04-16 10:33:23 +02:00
packages.config [WCF] Fix WCF instrumentation initialization (#3650) 2024-09-20 06:55:45 +00:00