Script Error on aspx page: running .NET 1.1 on 64 - iis-6

I have a namespace like this in one of my aspx pages (.NET 1.1)
<%# Register TagPrefix="jwg" Namespace="Janus.Web.GridEX" Assembly="Janus.Web.GridEX" %>
This code used to run alright in .Net 1.1 on a 32 bit system but recently we are porting it to 64 bit system (only the run time not the development environment). It has already been ported successfully on one 64 bit system - however that was done like months ago and I have now completely forgotten what all settings were done at that time (and unfortunately I did not take any notes at the time).
Everything runs fine except for few pages where I use the above mentioned namespace registration tag. It is throwing me a script error error at run time from browser saying that An error has occurred in the script on this page. Error: 'GridEx' is undefined. Do you want to continue running scripts on this page? The DLL in the bin is same as it is in on the another 64 bit working box. All other setttings on IIS seems to be working fine since I was able to set .NET 1.1 app pool on it and run the entire application.
Thanks.

In the Visual Studio I removed all the references and created them once again (choosing the path to bin directory of the project) and this resolved this issue... What was probably happening that even though in properties of the references it was showing the path to bin, but somehow the whole thing needed to be refreshed to reflect it into the compiled project file. Its Visual Studio 2003.
Thanks guys.

Related

Asp.net Core application is not running with VS 2017?

I have installed the visual studio 2017 for ASP.Net Core. I created Dot Net Core project. Build it successfully and run it but on Firefox it shows the blank page and on chrome it shows "**The localhost page isn’t working
localhost is currently unable to handle this request"
I thought there is a problem in code. I debugged the code and there is nothing wrong with the code. It's the default template and code generated for Asp.Net Core. I googled and tried many things like restart the VS, removed cache, etc but nothing worked for me. Then i uninstalled the VS 2017 and used C Cleaner to remove all temp files etc and installed the visual studio 2017 again but the same error came again. Then i created MVC application, console application in VS 2017 and both worked fine. Issue comes only in Asp.net core application. I use fiddler to see the request status and it is 500. I debugged the code but nothing wrong with the code(No Exception). I have tried many things but did not find anything helpful. Can anyone tell me what's the issue?
The blank page response can be caused by a number of reasons. Sometimes because you are lacking something in the system , routing issues, wrong code on the wrong location, .csproj configuration issues, permission issues, and many more.
There are a couple of things you can try:
Check to see if you have the appropriate ASP.NET Core Module installed in you system. (Either x86 or x64 depending on your system )
Make sure you have enabled IIS Integration in your code
See if you have the error middleware in your Configure code, it mostly helps to solve your issues by giving full detail.
Looks like you are running into error similar to this issue with browserlink .What version of browser link package do you have in your machine
Microsoft.VisualStudio.Web.BrowserLink should be 1.0.1 referring the templates
This SO post discuss the similar issue .If that does not solve, Please make sure you have 1.0.1 in your project referenced and then try this
Clearing your NuGet cache
dotnet nuget locals all --clear
Set Environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to 1 . This is to avoid caching packages
dotnet restore
Does it happens to be runtime compilation issues?
I stumble across this issues log while studying the feasibility of using ASP.Net Core for ERP System host on LinuxOS.
Issues #2017 on GitHub
Try setting
<PreserveCompilationContext>false<PreserveCompilationContext>
in your csproj

32 bit WCF on Azure - enable32BitAppOnWin64 not working

I am trying to get a 32 bit WCF library to run on Azure. I've read several posts, like this: 32-bit legacy COM DLLs on Windows Azure, saying that they successfully force IIS to load a 32 bit application.
I added the startup batch file, which also registers a COM, and I see that it is run successfully. The COM is registered and the setting is set to true in IIS manager.
Yet the role keeps recycling and in the Event Viewer I see:
WaIISHost
Role entrypoint could not be created: System.BadImageFormatException: Could not load file or assembly 'file:///E:\approot\bin\wcfAzureWrapperStoryMapping.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format.
File name: 'file:///E:\approot\bin\wcfAzureWrapperStoryMapping.dll'
I tried changing the OS from Windows 2008 to Windows 2012, no effect. What is going on?
And the funny part, the base folder contains two folders, x64 and x86. So it's like there is a provision for 32 bit. How do I force these guys to cooperate? I was thinking to rename the folders from the batch file but it's probably not going to work...
UPDATE: funny enough, Task Manager shows IISConfigurator as 32 bit! What's going on, I wonder?

VB.NET WinForm Web Connection stopped working when project was upgraded from .NET 3.5 to 4.0

I've got a strange issue that's left me scouring Google for the past couple of hours, but I haven't found anything even close to this.
I have a VB.NET Winforms project containing a class that dynamically generates an image URL for a remotely hosted charting API, and returns the URL as the source to a PictureBox (pbCallChart.ImageLocation = MyURL). This has been in place and working fine for years now. However, I recently had to upgrade the project from .NET 3.5 to .NET 4.0 (I'm working in VS 2010 on a 64-bit build, which apparently won't let you do active debug in .NET 3.5). As soon as I did this, my image stopped showing up.
I verified that the image works when I pull up the URL in a web browser on the same machine that I'm working from. At first I figured maybe that property was removed in 4.0, so I tried switching to the Load() function. No dice. Then I took it one step further and wrote this little function:
Public Function ChartImage() As Bitmap
Dim ChartURL As String = "http://www.anyURL.com/img.jpg" 'Chart()
Return New System.Drawing.Bitmap(New IO.MemoryStream(New System.Net.WebClient().DownloadData(ChartURL)))
End Function
When I run this (and I've confirmed that it doesn't matter what URL I pass it), I always get the error:
An unhandled exception of type 'System.Net.WebException' occurred in System.dll
Additional information: Unable to connect to the remote server
I know this isn't a proxy problem, because it works fine on this same computer under .NET 3.5. And I've confirmed it's not just a debugging quirk, because I compiled executables and provided them to users - they confirmed that the .NET 3.5 version works and the .NET 4.0 version does not.
I can only assume that there must be some security configuration difference in the two versions that I don't know about, but it seems like someone would have mentioned it somewhere. Has anyone else ever experienced anything like this? I'm pretty much out of ideas - do you have any?

Strong name validation failed on VB.NET Assembly

I have a VB.Net 1.1 application works just fine after compiling in Visual Studio. However, I want to use ILMerge to combine all the referenced assemblies into a single executable just to make it easier to move around. After I send it through ILMerge and try to run it I get the error
"Strong name validation failed for assembly.exe" .....
But none of my stuff is strong named! I saw this post here: Strong Name Validation Failed and tried running it through 'sn.exe -Vr merged.exe' but that gives me this error:
"merged.exe does not represent a strongly named assembly"
Has anyone else had this problem before? How do I fix it?
UPDATE:
I'm starting to feel like Strong name validation isn't the real problem here. I'm building against .NET v1.1 and running on a machine where that is the only .NET version installed (happens to be Windows 2003). The merged executable appears to die with that error on every Windows 2003 machine I try, but if I try to run it on a more modern OS (Vista) it at least starts, but that's not really a good test since the environment isn't fit for a real test.
I have verified that my app.config has the correct settings (specifying required and supported runtime version of v1.1.4322)
I use the /targetplatform:v1.1 option when running my assemblies through ILMerge.
ILMerge is definitely causing the problem (i.e. it works fine before I merge), I just don't know how to fix it.
I had to find and download a very old version of ILMerge (v1.1) in order for my merged binary to work; there must be a bug in the way the current ILMerge application builds .NET 1.1 assemblies. Thankfully we had one internally because I would probably have never found it online.

Any suggestions as to why a .Net app looks for a different config file on a 64-bit machine?

We have a project management application written in VB.net. When running this application from a 32-bit machine or from within the Visual Studio IDE on a 64-bit machine, it looks for the correct configuration file (i.e. MyApp.exe.config). However, when running this app from outside the IDE on a 64-bit machine, it looks for MyApp.config and fails to find it.
Obviously I can copy the correct config to the badly named config, but we're at a loss as to why this behavior is occurring in the first place.
This is a windows application written in the 2.0 framework. No web.config file is associated (as I have found some references to a similar issue with web.config files that didn't apply).
Any guidance or suggestions is greatly appreciated.
Edit: I also should note that this is the only application this is occurring on. If I create a new vb.net application using the same libraries we use for config management, it works fine. Also, of some possible relevance, the projects are being built targeting the x86 CPU.
What I'd do is on 64 bit at install time I'd do CreateHardLink("MyApp.exe.config", "MyApp.config", NULL)
CreateHardLink is P/Invokable.