I am developing a web application in visual studio 2010 with target framework - 3.5 I am using a dll (developed by another team) in which i get an error for following code :
string strName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name;
i checked and found that System.Reflection.Assembly.GetEntryAssembly() is returning null and also searched about that and found on msdn that GetEntryAssembly() may return null, when it is called from any unmanaged code.
When I am calling from my web application, it is returning null and when I call from any windows application, it works fine,i.e. it gets the entry assembly name (the assembly from which the execution has started). Why it is returning null in Web application? i can't understand. I also tried to change the output type of my web project to Class Library, from the project properties in visual studio, but the dropdown for output type, is disabled and i can't change the output type of the project. Please help me if any solutions exists for this problem.
thanks in advance
Amit Shahani
Is the ASP.Net host process managed. The answer is, no. Therefore, the result of GetEntryAssembly
in your web app is null.
The solution all depends on what your third party assembly is trying to do and why it calls GetEntryAssembly
.
You could create an executable to host the assembly and launch that in a seperate process, then the call would return your executable assembley. However, that may not be the best course of action, it depends on what you want to achieve overall.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With