- 
                Notifications
    You must be signed in to change notification settings 
- Fork 5.2k
[release/8.0-staging] Add non-public SetEntryAssembly() API to System.Reflection #103726
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
          
     Merged
      
      
            steveisok
  merged 8 commits into
  dotnet:release/8.0-staging
from
steveisok:backport-setentryassembly-api
  
      
      
   
  Jun 28, 2024 
      
    
                
     Merged
            
            [release/8.0-staging] Add non-public SetEntryAssembly() API to System.Reflection #103726
                    steveisok
  merged 8 commits into
  dotnet:release/8.0-staging
from
steveisok:backport-setentryassembly-api
  
      
      
   
  Jun 28, 2024 
              
            Conversation
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
    ….Reflection Implements the API proposal detailed and approved in issue dotnet#101616. This new API will allow developers to change the entry assembly of their .NET apps on the fly, should they require it. One important scenario is app launchers. With the usage of this API, then functions like `GetEntryAssembly()` will return the right value, and thus we will be able to ensure the information is consistent and correct.
              
                    jeffschwMSFT
  
              
              approved these changes
              
                  
                    Jun 19, 2024 
                  
              
              
            
            
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm. we will take for consideration in 8.0.x
| Tagging subscribers to this area: @dotnet/area-system-reflection | 
| Approved by tactics over email | 
…port-setentryassembly-api
  
      Sign up for free
      to subscribe to this conversation on GitHub.
      Already have an account?
      Sign in.
  
      
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Backport of #102271 to release/8.0
Implements the API proposal detailed and approved in issue #101616. This new API will allow developers to change the entry assembly of their .NET apps on the fly, should they require it. One important scenario is app launchers. With the usage of this API, then functions like
GetEntryAssembly()will return the right value, and thus we will be able to ensure the information is consistent and correct.Customer Impact
The Azure functions team is using this API in .NET 9 and want to bring this APi back to .NET 8 in order to avoid adding too much unnecessary code for the scenario they are trying to support. This API will only be available via reflection.
Testing
Added automated tests that use reflection to call the API
Risk
Low risk.