I'm developing a C# .NET assembly (name: A.exe) which needs to be delay signed and then fully signed by a third party company. In order to delay sign I use the public key.
Assembly A references assemblies B.Core.dll, B.Common.dll, B.Logging.dll which are part of a common library. B-assemblies aren't delay signed, so I use ildasm/ilasm to disassemble them and reassemble delay-signed.
I submitted A.exe and B.Core.dll, B.Common.dll, B.Logging.dll and they are now fully signed, however when A starts it complain with error:
Could not load file or assembly 'Assembly B1 PublicKeyToken=null'
The problem shouldn't be related to A.exe since it references delay signed assemblies (they have Strong Name property set to True), but I suspect the culprit is B.Core.
Indeed, B.Core references B.Common and B.Logging, while B.Common and B.Logging are independent each other.
The cause of the error might be that B.Core was initially built using a non-signed B.Common assembly and then disassemble and reassemble all the three assemblies didn't change references...
In order to solve the problem, what I was thinking to do is merging all the four assemblies into one single delay signed assembly as a post build step of A. Do you think it will work?
One thing to keep in mind is that B.Core uses .NET MEF to dynamically load exported interfaces from A. Will this process present any issue?
Thanks in advance for your help
Delay signed assemblies chain
267 views Asked by peval27 At
1
There are 1 answers
Related Questions in C#
- How to call a C language function from x86 assembly code?
- What does: "char *argv[]" mean?
- User input sanitization program, which takes a specific amount of arguments and passes the execution to a bash script
- How to crop a BMP image in half using C
- How can I get the difference in minutes between two dates and hours?
- Why will this code compile although it defines two variables with the same name?
- Compiling eBPF program in Docker fails due to missing '__u64' type
- Why can't I use the file pointer after the first read attempt fails?
- #include Header files in C with definition too
- OpenCV2 on CLion
- What is causing the store latency in this program?
- How to refer to the filepath of test data in test sourcecode?
- 9 Digit Addresses in Hexadecimal System in MacOS
- My server TCP doesn't receive messages from the client in C
- Printing the characters obtained from the array s using printf?
Related Questions in .NET
- file download method in visual studio 2017
- Repository manager receives the wrong connection string in .net core
- MongoDb not connecting C#
- The current .NET SDK does not support targeting .NET Core 6.0. Brand new WPF Project VS Community 2022 17.9.5
- Why Scanning GSI on DynamoDb doesnt work as fast as expected when using CONTAINS?
- Are "blittable types" really unmanaged types for StructLayout Sequential
- Failed to fetch dynamically imported module on Blazor JS Interop
- Problem to upload several images per one request
- Implementing Azure AD B2C Authentication in .NET 8 Blazor Project (RenderMode: InteractiveAuto)
- Stripe connect payout - throws exceptions
- 'IOException: The cloud file provider is not running', when trying to delete 'cloud' folder
- Azure Application Insights Not Displaying Custom Logs for Azure Functions with .NET 8
- Convert C# DateTime.Ticks to Bigquery DateTime Format
- Socket.io nodejs server .NET connection
- Producer Batching Service Bus Vs Kafka
Related Questions in MEF
- Stiffness matrix for FEA development
- MEF ImportMany does not propagate exceptions and silently fail
- How to register dependencies in Castle Windsor that work the same as MEF's [Export]
- Force loading assemblies in webassembly project - MEF - AvaloniaUI
- Visual Studio intellisense extension
- Unit test mocking base class
- Dynamically loading UserControl in WPF Assembly missing resources
- Why is MEF in dotnet 6 using ImportManynot working based on code that worked in dotnet framework 4.6.2
- How to call the ViewModel in the Command properly with the Mef container?
- Load and execute code from an Azure Blob container from a function app?
- How to use binding redirects when dynamically loading assembly with MEF
- Quartz.NET JobBuilder.Create<> reuses same instance of IJob
- How can MEF AssemblyCatalogs be used with custom AssemblyLoadContexts
- Downgrade issue in MEF DLL hell
- MEF vs. IAsyncDisposable or iterate over all instantiated exports
Related Questions in STRONGNAME
- Prevent assembly from being tampered
- Strong name is not created correctly for .NET Core assembly
- Could not load file or assembly Tesseract. A strongly-named assembly is required
- Why is an imported pfx certificate not available for code signing?
- Perform assembly signature verification in .Net 6
- How to strong name assemblies when publishing to a single file (.exe) in Visual Studio
- ClickOnce and .NET 7: User settings not being updated
- InternalsVisibleTo attribute with signed assemblies in .NET 6
- Error Strongly Naming DLL Without Source Code
- How should I specify the path to the strong name key in projects published on GitHub and NuGet?
- Eazfuscator: disable sn.exe invocation
- How to avoid strong-named assembly mismatches at runtime?
- How can I use my own key pair for signing Roslyn
- FileLoadException when use Roslyn in VSTO plugin for Word
- .NET: What needs to be done to let the GAC recognize an assembly as 'new' and accept a new 'strong name'
Related Questions in STRONG-NAMED-KEY
- Why is the "Issued to" and "Issued by" fields are numbers instead of my name? in Visual Studio when signing a program
- Strong name is not created correctly for .NET Core assembly
- Why is an imported pfx certificate not available for code signing?
- How to strong name assemblies when publishing to a single file (.exe) in Visual Studio
- Creating new key file to strongly name an assembly does not work in visual studio 2022
- .Net DLL reference error (after strong name sign)
- error MSB3325: Cannot import the following key file, restart issue
- Requiring self signed certificate when referencing the Twilio dll
- Create RSACryptoServiceProvider from public key ONLY
- Adding a strong name key (.pfx) file to a project programmatically
- Unit testing strongly named class library
- Simplest way to prevent someone from loading my managed assembly?
- Delay signed assemblies chain
- What would happen if signed DLL replaced with un-signed?
- MSB3073 command exited with 1
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
I found a solution: I managed to use ILMerge to merge the four assemblies into one, therefore everything worked as expected. Even debug symbols were "merged" into a single PDB file (the trick was to have B.Core.pdb, B.Common.pdb and B.Logging.pdb in the same folder of the respective assemblies).
MEF did the work without complaining.