* 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>
* Cache Restore target
* Fix syntax
* Clean target should be run manually
* Add save NuGet cache action
* Fix restore for build-containers
* Legacy restore for native projects on Windows
* Merge fix
* --no-restore according if packages were cached or not
* Add condition to save the cache
* Separate Workflow target into build and test
* Dedicate one runner for Windows containers tests
* Change the literal to windows-container-tests-only
* Allow TestWorkflow to single TFM
* Separate build tests per TFM
* Remove Assert for invalid TFM
* Coalesce check to GAC install
* Put CI NuGet packages folder in a "typical" dir
* Sort integration test applications
* Revert "Sort integration test applications"
This reverts commit 63e16373f993d0515c02dc62affb162f4012c820.
* Only handle .NET Fx test apps if targeting .NET Fx
* Special case TestApplication.Wcf.Server.NetFramework
* Fix container build (no need to run the tests)
* Fix project selection
* Improve selection of skip for TestApps due to TPM
* Less work on test-build-windows-container-tests-only
* Use existing helper to the the WCF server project
* Measure docker images
* Revert "Measure docker images"
This reverts commit 3217f9c41d.
* Dedicate runner for NativeTests
Fix test-build-native Nuke target
* Share env vars for all jobs in the workflow
* More precise version for actions/cache
* Clean up collection of test logs aka "./build_data/"
* Remove unused "log-dir"
* Improve --containers parameter description
Co-authored-by: Robert Pająk <pellared@hotmail.com>
* Change literal used to run only Windows containers tests
---------
Co-authored-by: Robert Pająk <pellared@hotmail.com>
* install opentelemetry inside container using ps module
* Update test/test-applications/integrations/TestApplication.AspNet.NetFramework/Dockerfile
Co-authored-by: Robert Pająk <pellared@hotmail.com>
* pr feedback
* set shell explicitly
* place temp files in bin dir
---------
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
* Install netfx dlls to GAC before integration test
* fix run order
* Update tools/GacInstallTool/Program.cs
Co-authored-by: Paulo Janotti <pjanotti@splunk.com>
* remove before
* add packages.props reference
* add comment
* Add possibility to uninstall
* pr feedback
---------
Co-authored-by: Paulo Janotti <pjanotti@splunk.com>
* Generate and test transient dependencies list
* revert debugging line
* revert frameworks change
* Skip tests on non windows platform
* Cleanup
* revert GenerateNetFxAssemblyRedirectionSource build
* auto run GenerateNetFxTransientDependencies
* Redirect assemblies for .NET Fx via CLR profiler
* Bump transitive dependencies to latest
* Revert "Bump transitive dependencies to latest"
This reverts commit e291eb893dbbe11bebccbf1957b01ff56a46f765.
We need some extra work to automate this process and also a friendly way
to register assemblies in the GAC.
* Add NETFX to dot-net.txt
* Link changelog addition to table in config.md
2nd round with changelog text
* Move MapToFolder to Build.Steps.cs
* Restore skip assemblies and prefixes if redirection is off
* Simplify auto generated redirection source file
* Shorten the env var used to control netfx redirection
* Bump Nuke.Common from 6.2.1 to 6.3.0 in /build
Bumps [Nuke.Common](https://github.com/nuke-build/nuke) from 6.2.1 to 6.3.0.
- [Release notes](https://github.com/nuke-build/nuke/releases)
- [Changelog](https://github.com/nuke-build/nuke/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/nuke-build/nuke/compare/6.2.1...6.3.0)
---
updated-dependencies:
- dependency-name: Nuke.Common
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Bump nuke.globaltool to 6.3.0
* Nuke breaking change - now we can have only one OnlyWhen condition
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Piotr Kiełkowicz <pkiekowicz@splunk.com>
Co-authored-by: Paulo Janotti <pjanotti@splunk.com>