[10.1] Moved a Dyalog asp.net-app from c: to d:

Using (or providing) Microsoft.NET Classes
Post Reply
User avatar
MBaas
Posts: 156
Joined: Thu Oct 16, 2008 1:17 am
Location: Gründau / Germany
Contact:

[10.1] Moved a Dyalog asp.net-app from c: to d:

Post by MBaas »

Trying to save space on my C:\-Drive, I moved some stuff to D:. To move the asp-app, I first copied the app-folder from inetpub\wwwroot to a path on D:\ and added it as a virtual directory, then removed things from C:.

Launching the app in the browser works fine - in most cases. But there is a ⎕USEd dll which isn't found when executing the code. Although the ⎕USING-statement references the DLL as ./, not using fixed paths or so. Now, when loading the workspace, the status-windows has some more to say:

System.IO.FileNotFoundException: File or assembly name dyalognet, or one of its dependencies, was not found.
MyWorkspace: Base Type "Page" not found


dyalognet is still around, for example in C:\Windows, C:\Dyalog101\dotnet and also in the bin-directory of the app, so I find that one qute surprising.
The second one looks equally surprising, I hope it is just a consequence of the first one.

I am out of ideas - what could I do to fix this?
User avatar
MBaas
Posts: 156
Joined: Thu Oct 16, 2008 1:17 am
Location: Gründau / Germany
Contact:

Re: [10.1] Moved a Dyalog asp.net-app from c: to d:

Post by MBaas »

With the help of procmon I found out that dyalognet.dll was searched for in the directory C:\WINDOWS\assembly\GAC\dyalognet\0.0.0.0__eb5ebc232de94dcf\ - where it was missing. Copying it into that dir fixed the probs when loading a DWS about dyalognet not being found and all other missing libs as well :)

Unfortunately the issue with the missing DLL is not fixed as easily. I can get rid of this by copying c:\inetpub\wwwroot\MyApp\bin back to C:\, but of course that's not the idea of "moving" the app. Looking through procmon's data, I noticed that aplc.exe was searching for the file in C: - so I went back a little, hoping to see which DWS would have been loaded before, so that I could double-check []using there. So I deleted "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\MyApp" to force a rebuild, but again, procmon showed access to the "usual suspects" (the workspaces that I had checked before)... So where else could it get that C:\-reference from???
User avatar
JohnD|Dyalog
Posts: 74
Joined: Wed Oct 01, 2008 9:35 am

Re: [10.1] Moved a Dyalog asp.net-app from c: to d:

Post by JohnD|Dyalog »

Hi Michael,

The location "C:\WINDOWS\assembly\GAC\" refers to the "Global Assembly Cache". For simplicity it's best that all the dyalog dlls (bridge,dyalogprovider and dyalognet) are in the GAC when one is running ASP.NET applications. dyalognet.dll should have been in the GAC when the application was installed on c:\, I'm not sure when it could have been removed.

Using ./ in []USING is not ideal, it relies on the current working directory of the appplication at runtime being the "bin" folder of the application - which I don't think it will be. You should try a hard coded path in there and see if that works. Or, find out what the current directory is, and use a relative path from there.

Best Regards,
John Daintree.
User avatar
MBaas
Posts: 156
Joined: Thu Oct 16, 2008 1:17 am
Location: Gründau / Germany
Contact:

Re: [10.1] Moved a Dyalog asp.net-app from c: to d:

Post by MBaas »

Thanks John, for jumping in :)
So we have two issues here:

  • why has dyalognet.dll disappeared from the GAC? Well, part of that explanation sits in front of your monitor! ;) I had an issue (yrs ago) where an asp.net would not bring up the debugger, even though debug="true" was set. I went through several steps with you at the time to diagnose that thing, and of the things I had noted was that we also had dyalognet.dll in the GAC (in C:\WINDOWS\assembly\GAC\dyalognet\0.0.0.0__eb5ebc232de94dcf\ to be precise) and at the time you said it did not belong there and should be removed. So this time (although I started work on a fresh machine) I had the same debugging-probs and went through the same old steps again (and finally I can debug again).
    Your latest remark, however, indicates the file belongs into C:\WINDOWS\assembly\GAC (or did you mean that same subdir?)
  • why are the DLLs not found on D:? I went through the aspx and DWS again and have fixed the paths to use D:, yet it still doesn't find the thing.
    Image Unfortunately the links to show more details are ineffective - is there any way to get more details on the error?
RobertB
Posts: 15
Joined: Fri Aug 27, 2010 7:16 am

Re: [10.1] Moved a Dyalog asp.net-app from c: to d:

Post by RobertB »

Hello Michael,

nice to meet you here. :-)

Perhaps this could help you...
Copy the needed dll files to the framework-folder (C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322) and set ⎕USING like this:

⎕USING←'' 'System' 'MyClass,MyDLL.dll'

Regards

Robert
User avatar
MBaas
Posts: 156
Joined: Thu Oct 16, 2008 1:17 am
Location: Gründau / Germany
Contact:

Re: [10.1] Moved a Dyalog asp.net-app from c: to d:

Post by MBaas »

Hallo Robert,

nice to meet you as well - I hope all is well in Nürnberg ;)

My issue was mainly of aesthetical nature, I didn't want to waste disk-space by keeping redundant versions of these files. And if I remember correctly, there was one instance in many linked workspaces which referred to C:, so after sorting that out, the problem was solved. I should have posted that, sorry :)

Greetz to you and the others! :)

Michael
Post Reply