how to deploy a mvc4+EntityFrame6 applicatin to iis? - asp.net-mvc

I have a web application which uses mvc4+Entityframework 6. It works fine on local machine. However, when I create the website on the production iis, published all files, the site does not come up. It shows 500 error.
If I put a simple index.html file, rename the web.config to something else, the index.html shows up. It tells me the iis is working.
Do I need to install any runtime on production?
thanks

it turns out that the machine is a new machine and nobody installed asp.net 4.5 on it. once installed it and mvc runtime (not sure this is must), it works fine.

Related

IIS and MVC show folder structure

i have tried to deploy an mvc application in an windows server 2008 with iis7.
i have copied all the content to the inetpub/wwwroot folder
i changed the framework version of the application pool to v4.0
i ran the aspnet_regiis.exe
the project was properly released because i have deploy succesfully to my desktop dev (iis) and one arvixe hosting, but i cant make it work on the server.
but i can only see the folder structure, i tried creating virtual directorys and everything, but nothing works. am i missing something.
thx

deploy mvc5 on iis7

After deploying an asp.net mvc 5 project on iis 7, and then click browse, i got a blank page!
Hint:
I've checked http static content, http redirection, and http errors.
Any ideas?
Thanks in advance.
The app. run after i run this command; which installed the asp.net on iis.
Then recreated a virtual directory once again for the application on the local iis:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
To fix IIS mappings for ASP.NET, run the Aspnet_regiis.exe utility.
https://support.microsoft.com/en-us/kb/306005
One idea: your default page is blank.
If there is an existing index.html in root it might be showing that. Can you delete all content from server and deploy again?

Can't make WebAPI application work on windows 2008 server

I'm new to Web API Applications. I created my very first application with only one simple Controller with only one Get() method that returns a List.
In my PC it works fine. Even after I publish the solution and access it via my IIS 7.5, the results are ok: I access
http://localhost/Application/api/Controller
and I get the answer I expect.
So I moved forward to the next step: deploying it to another server so other people in my office can access it. The server we use runs a Windows 2008 server. What I did was to simply copy the Publish folder generated by the publish command in Visual Studio 2012, and paste it in the inetpub\wwwroot folder in the server computer. Then, I accessed the IIS 7.5 that's running on the server and created a new application using the .NET 4.0 Application Pool, using the Publish folder as its physical path (exact same steps I did in my PC to publish it to my IIS).
The problem: when I try to access the application in the server machine (that's running windows 2008 server), I get the 404 error. It seems like it tries to find a physical path Application\api\Controller, insted of resolving it logically like my machine does.
I did try all the different solutions I found in the web:
I did enable all verbs in the ExtensionlessUrl-Integrated-4.0 under the mappings configuration for the Application in the IIS.
I did add the WebApiConfig.Register(GlobalConfiguration.Configuration); in my global asax.
What I noticed is that my machine has the .NET Framework 4.5 installed and the server machine only has the 4.0 framework (client and extended). But I get the same error even after compiling the application targetting the 4.0 framework.
The only MVC .dll I have in my bin directory is the System.Web.Mvc.dll... do I need any other DLL?
Thanks in advance.
Try this:
<system.webServer>
.....
<modules runAllManagedModulesForAllRequests="true" />
.....
</system.webServer>

ASP.NET MVC Deployment Referencing Development Environment

I am trying to deploy my ASP.NET MVC 3 application using Visual Studio 2010's "Publish Web" option (build/Publish App). This generates deployment/bin, deployment/scripts, deployment/views etc.
I loaded these resulting deployment files/folders to a web server running IIS 6. Afterwards, everything seemed to run just fine on this web server.
I then started to make new updates, just to my local environment. After doing that, the deployed version of the site stopped working. I looked at the stack trace and the web server seemed to be referencing controllers.cs from my local environment, as opposed to the dll's in the bin directory on the web server.
Is there something else I need to do before deployment to tell the web server to use it's own bin files as opposed to files on my development environment?
BTW both my development machine and the web server live on the same network.
Update:
Another thing that made me suspect that the web server was referencing my local dev environment was that when a new user tried to access the application she got an IOFileNotFoundException in regards to a reference to "Interop.ActiveDs.dll". The stack trace mentioned my_local_path/Interop.ActiveDs.dll. This file was in fact not on the web server so I added it and then her error went away. The Odd thing was that all other users before her did not recieve an error about this missing reference.

IIS displaying folder content list instead of running website (mvc application)

can anyone help me. (iis drives me crazy!!)
heres where im at. Ive setup a basic windows server on aws. I used web platform installer to install nopcommerce and dependencies. I first got a 403 error then enabled directory browsing. Now instead of running the site the web browser just displays a list of the contents of the root folder. just a directory listing, instead of starting the webpage.
Disable directory browsing and try.
I got it back up and running by reinstalling the .net framework. Not sure what went wrong but reinstalling seems to have fixed it.

Resources