I recently upgraded an ASP.Net 2.0 website to ASP.Net 4.0 using VS2010 upgrade option.
Website works fine in cassini and even on our Windows 2003 server with IIS 6.0
But it will not come up on the client's environment.
Client too has a Windows Server 2003 with IIS 6.0 and .NEt Framework 4.0 installed.
I have registered ASP.NEt 4.0 with IIS 6.0 using
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis –ir
also configured the website with .NEt framework 4.0 like below
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>ASPNET_REGIIS -norestart -s "W3SVC
/1/ROOT/Website"
I have assigned the website a separate apppool dedicated to it.
I have tried restarting IIS and the machine but to no avail.
I have verified that under "Website Extensions" ASP.NEt 4.0 is allowed and also checked the site's configuration to confirm that .aspx among other is mapped to .NEt 4.0
I have given the internet user read access to the website directory.
I have been getting
"Server Application not available"
I also getting the following in the event log
Failed to initialize the AppDomain:/LM/W3SVC/1/Root/Website
Exception: System.IO.FileLoadException
Message: Could not load file or assembly 'System.Web, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Access is denied.
Another one after this event is
Failed to execute request because the App-Domain could not be created.
Error: 0x80070005 Access is denied.
Website uses Active Reports 6.0 and elmah. That's it.
I would appreciate any tips/pointers to figure this issue out.
T开发者_开发百科hanks
I could not get the above scenario to work.
So I downgraded the website to .Net 3.5 which uses Framework 2.0 and this made deployment painless.
Not sure what it was about asp.net 4.0 and IIS 6.0 but I could not get to work in the client't environment even though I had it working in our test environment.
If you end up getting in a similar situation again (or for anyone else landing on this from a search), try granting the IIS User access to the 'Temporary ASP.Net Files' folder (under a relavant folder in C:\Windows\Microsoft.Net).
I've run into this a couple of times and that generally seems to work at least in my development environment. You'll likely want to do a bit more research before applying this in production.
精彩评论