installed VS 2003, VS2010 websites will not load without 32bit enabled - asp.net

I had to support this application written in 2003 so I installed it on my local computer and now my websites give me the following error when running without 32bit applications installed.
Previously I ran under and app pool without 32bit applications installed. What could have changed?
ISAPI Filter 'c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll' could not be loaded due to a configuration problem. The current configuration only supports loading images built for a AMD64 processor architecture.... To learn more about this issue, including how to troubleshooting this kind of processor architecture mismatch error, see http://go.microsoft.com/fwlink/?LinkId=29349.
Any suggestions would be hugely appreciated.

Just in case someone else encounters this... I went to the websites that were having the trouble, then navigated to the ISAPI filter section, and noticed that one of the paths had an extra backslash.

Related

Issue with disabling 32-Bit applications on AppPool

We have a website that is developed on ASP.NET Web Forms.
The website has been running with an AppPool which allows 32-Bit application. For a long time.
(Enable 32-Bit Applications = True)
For some reasons, now we need to disable 32-Bit application on AppPool.
I've tried to disable it, and the result is weird, that the AppPool crashed and stopped working automatically after few hours. And the website stopped working untill I start the AppPool manually.
Then, I looked thought every DLL that powers the website, including the third party libraries. I used CorFlags for this purposes. And didn't find any 32-Bit assembly. All the assemblies are either 64-Bit, or AnyCPU that has no problem with running on 64-Bit processes.
Then I've checked the website's Virtual Directories and Applications. There is no 32-Bit assemblies either.
So, I'm really stuck on this. I need to disable the 32-Bit application running on the AppPool.
Question
Is AppPool crash after disabling 32-Bit apps really related with there is a 32-Bit app/assemblies is running on the process? Is that causing the crash? I didn't find any 32-Bit assembly in whole source of the project. Where else they can be? Any other location that I need to look for an 32-Bit assembly?
What else is there that I need to investigate in order to diagnose the problem? Let's say I don't find any 32-Bit assemblies, what else can be a reason of the AppPool crash after disabling the 32-Bit applications?
Thanks everybody.

How do I test running my ASP.NET web app as a 64-bit process on a development server with VS2010?

My task is simple: I need to test my ASP.NET web application in a 64-bit environment on my development machine. (At this point I don't even ask about running it through a debugger. All I need is to run it in a 64-bit process.)
So I created a stock C# Web Application in Visual Studio 2010 and adjusted its properties as such:
I then did Ctrl+F5 (or run without debugging) and IE loaded up and hangs up like so:
What am I doing wrong here?
PS. Running it on Windows 7 Ultimate (64-bit).
We had the same problem and when the team jumped to Visual Studio 2012, this registry key was really useful to us :
you can add a registry key to force visual studio to use the 64 bits version of iisexpress.exe ; unfortunately for you, it is a VS2012-only solution.
reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\WebProjects
/v Use64BitIISExpress /t REG_DWORD /d 1
Then restart Visual Studio and tick [X] Use IIS Express in your settings.
(see also the source).
UPDATE: For reference, in Visual 2013, this option can be found in the interface : Options/Projects and Solutions/Web Projects/Use the 64 bit version of IIS Express for web sites and projects
In IIS make sure the Application Pool, Advance Settings, Enable 32-Bit Applications = false
If this setting is true then the worker process will run as 32bit WOW64 process.
Chris
No settings required in project or solution level. I am developing WebApp on VS2010 on 32 bit and 64-bit machines simultaneously. Actually We are working on SVN and our few machines have Win7 32-bit and my few mates have Win7-64bit laptops. But there we haven't faced any such issue while compiling the app on two different machines and Even on the live server, it runs butter smooth. Hardly care about the bit and bytes.
To verify a test run. Publish your code and host in your local IIS or Cassini Webserver and access it over LAN.
Also if possible revert back solution and project settings to its original configuration settings. Generally, We do not need to change target until and unless it is strictly required. As, AFAIK, It compiles the assembly under "Any CPU" as target, which is eligible for all i.e. IA, X64 and X86..
Finally, if you are coming across any error, please do post it here. It will help you and us as well.
First of all how to do you know if your IIS process is running your website as 32-bit or 64-bit as of now?
Open Task manager to check the bitness of w3wp.exe. If your machine is 64-bit then IIS will run 64-bit by default. Your problem seems to be something else. If bitness is the issue then you won't even come this far. Check IIS logs (c:\inetpub\logs{website-ID}{date})... that might give you some pointers. If there is nothing in there, check event viewer. If nothing then check if the virtual directory is actually created in IIS Manager under Default Web Site.
Have you actually tested if IIS (sans ASPX) is functional? http:// localhost ? does that work? if that is working then I would recommend checking if your ASP.NET modules are properly installed within IIS.
Hope this Helps.

Configuring 32-Bit ASP.NET Application on a 64-Bit IIS Server

I’m trying to install a 32-bit ASP.NET application onto a 64-bit IIS server running on Windows Server 2008. This is a clean installation of the operating system with no other applications installed.
As a prerequisite for our installation, we run the 32-bit version of aspnet_regiis –i
It fails with the following message:
The error indicates that IIS is not installed on the machine. Please install IIS before using this tool.
Additionally:
IIS is definitely installed.
The 64 bit version of aspnet_regiis runs cleanly without warnings.
“Enable 32 bit applications” is set to True in the DefaultAppPool’s Advanced Settings.
The IIS Metabase and IIS 6 configuration compatibility” component is installed.
We have a test VM where this error occurs as well as test VM where both the 32 bit and 64 bit versions of aspnet_regiis run without errors. We've had no luck distinguishing the differences between the two test VMs.
We have struggled with this issue for several days to no avail. Any suggestions would be greatly appreciated!
Is it necessary to run aspnet_regiis? 32 bit asp.net should already be installed and running on iis7, all you should need to do is set the app pool to “Enable 32 bit applications” and set you web app to use that app pool. You do not say what happens when you install/setup your web app, do you get any errors when you try to access it in a browser?
Problem solved! Apparently the issue stems from Windows Server 2008 (R1). Applying the SP2 update to the operating system cures the problem. Later iterations of the OS don't seem to exhibit this behavior.

ASP.Net Development Server performance

I am developing a simple ASP.Net application on a Windows 7 x64 machine using Visual Studio 2008 SP1. The computer itself is a very strong machine.
I am using the built in development server for debugging.
Starting the debug process takes a mindblowingly long time (~20 minutes until the first page is loaded). Sometimes the pages load immediately. I encounter this problem only with web projects, windows forms project work as expected.
What could be the cause? How can I make the development work like it worked on an XP machine?
Edit:
The web pages are normal pages, no heavy code, so this cannot be the reason.
try this fix for VS Studio 2008 http://support.microsoft.com/kb/946581
This fix was not included in Microsoft Update. It fixes slow build time and many more and is recommended for users that experience problems.
The main reason is probably because on each change of a page, there is a batch compile of a lot of files, on the same directory. To avoid the batch compile use this flag on the web.config. That way only the changed file will be compile, the one you work on it, and not others.
<compilation batch="false" ... >
Relative :
Slow Performance -- ASP .NET ASPNET_WP.EXE and CSC.EXE Running After Clicking Redirect Link

Is it possible for a Asp.Net developer on 64-bit windows to work with a team that has 32-bit?

Are there any compatibility issues that would prevent this from working? Do I need to have a 32-bit VM to use when working on projects for this team?
No. Should work perfectly well.
Read a little here: http://msdn.microsoft.com/en-us/library/ms973190.aspx
I run Vista 64 and the other members of my team run XP 32 bits, the only issue we've had so far was with a third party COM-component where the interop assembly wasn't easy to generate on the 64 bit machine. Once it was generated it screwed up the other machines. That was fixed by generating the interop assembly on the 32-bit machines and checking it into source control.
I heard in the latest .Net-rocks podcast that setting x86 instead of "Any CPU" in the build configuration should resolve a lot of problems, but since I haven't had any problems other than the one I described I have not yet tried that.
It doesn't matter what your environment is, develop on whatever machine you wish. I would be concerned about the QA, staging and production environments. If they are all 32 bit, I would want a 32 bit VM to test my code.
I'm not sure about collaborating with other developers in a different windows 32/64-bit environment, but I can speak about deploying an .NET application that was developed in Windows XP 32-bit on a Windows 2008 64-bit server.
The only problem I had was with an application that relied on a 3rd-party assembly. We only had a 32-bit version of the assembly. So, in order to run our application in a 64-bit environment, I had to compile my project for x86 (as you described). It solved everything.
All other applications I was able to get running without changing a thing (they were compiled in the 'Any CPU' mode.
I suspect you won't have problem unless you have some external assemblies. If that's the case, then you will either have to recompile them or simple force your project to compile to x86.
I know that doesn't definitely answer you question, but hopefully it helps.
Andrew

Resources