• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1222
  • Last Modified:

Could not load file or assembly

Hi

I've been following a simple example to run web server from a command line using ASP.NET.

http://aspalliance.com/220_Running_ASPNET_within_a_CommandLine_exe_Outside_of_IIS.all#Page1

It seems I don't have the necessary files available to run the application. Here is the stack trace. How do I find out what files are missing?

Thanks
Andrew
System.IO.FileNotFoundException was unhandled
  Message="Could not load file or assembly 'MyHost, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified."
  Source="mscorlib"
  FileName="MyHost, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
  FusionLog="=== Pre-bind state information ===
LOG: User = MINDY2\\aj
LOG: DisplayName = MyHost, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\n (Fully-specified)
LOG: Appbase = file:///C:/Documents and Settings/aj/My Documents/Host/
LOG: Initial PrivatePath = C:\\Documents and Settings\\aj\\My Documents\\Host\\bin
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\\Documents and Settings\\aj\\My Documents\\Host\\web.config
LOG: Using machine configuration file from c:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\config\\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/foo/c94177b4/4af4c657/MyHost.DLL.
LOG: Attempting download of new URL file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/foo/c94177b4/4af4c657/MyHost/MyHost.DLL.
LOG: Attempting download of new URL file:///C:/Documents and Settings/aj/My Documents/Host/bin/MyHost.DLL.
LOG: Attempting download of new URL file:///C:/Documents and Settings/aj/My Documents/Host/bin/MyHost/MyHost.DLL.
LOG: Attempting download of new URL file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/foo/c94177b4/4af4c657/MyHost.EXE.
LOG: Attempting download of new URL file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/foo/c94177b4/4af4c657/MyHost/MyHost.EXE.
LOG: Attempting download of new URL file:///C:/Documents and Settings/aj/My Documents/Host/bin/MyHost.EXE.
LOG: Attempting download of new URL file:///C:/Documents and Settings/aj/My Documents/Host/bin/MyHost/MyHost.EXE.
"
  StackTrace:
       at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
       at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
       at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
       at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
       at System.Reflection.Assembly.Load(String assemblyString)
       at System.UnitySerializationHolder.GetRealObject(StreamingContext context)
       at System.Web.Hosting.HostingEnvironment.CreateInstance(Type type)
       at System.Web.Hosting.ApplicationManager.CreateInstanceInNewWorkerAppDomain(Type type, String appId, VirtualPath virtualPath, String physicalPath)
       at System.Web.Hosting.ApplicationHost.CreateApplicationHost(Type hostType, String virtualDir, String physicalDir)
       at AspHostTest.MyAspHost.Main(String[] args)
  InnerException: 

Open in new window

0
j055
Asked:
j055
  • 4
  • 2
1 Solution
 
j055Author Commented:
Made the stack trace and error log more readable
0
 
Daniel JungesCommented:
0
 
j055Author Commented:
Thanks for that. I have followed that example too already. It looks like my problem is more to do with the .NET Framework assembly binding, i.e. it's looking for assmblies that don't exists. I can't work out why it's looking for the assemblies. It doesn't make a lot of sense to me.

I wonder if this line is a clue:

LOG: Initial PrivatePath = C:\\Documents and Settings\\aj\\My Documents\\Host\\bin
Calling assembly : (Unknown).

That folder doesn't exist but why is it looking for it?
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
Daniel JungesCommented:
place all compiled files into C:\\Documents and Settings\\aj\\My Documents\\Host\\bin

and the aspx files into C:\\Documents and Settings\\aj\\My Documents\\Host\

that is the needed folder structure for asp.net
0
 
j055Author Commented:
THat's how everything is. I've double checked. I didn't have a dll in the bin folder because the Default.aspx test page only contained static html. I changed it and recompiled so I have a dll in the bin folder. I still get the same errors.

Why is the application trying to load a file called MyHost.DLL? That doesn't exist. It's an exe.
0
 
j055Author Commented:
Oh, I just copied the MyHost.exe file to the bin folder and the test seems to work. I don't understand why however.

Thanks
Andrew
0
 
Gautham JanardhanCommented:
the dll's shud be in the same folder as the exe... otherwise u shud specifically mention the path to the dll's
in ur case first time the exe was in the host folder while dll was in the bin folder
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now