Deploying ASP.NET MVC4 App to GoDaddy Compiler issue

18,186

Solution 1

I have struggled with the same problem for months. And finally solved it. In the plesk on godaddy I changed the ASP.Net settings. First changed CAS-trustlevel to Full. Then I changed in the Web.config of my project the following:

  • Add trust level full to the system.web
  • Remove the compilers in the system.codecom
 <system.web>
    compilation debug="true" targetFramework="4.5.2"/>
    <httpRuntime targetFramework="4.5.2"/>
    <trust level="Full"/>             <!-- Just add this to the webconfig -->
 </system.web>

 <system.codedom>
              <!-- All is removed between the 2 tags-->
 </system.codedom>

and that solved my problem.

Solution 2

You have to remove the compilation info from the web config and it will work.

In addition to precompiling (check the box in your publish settings), add the following to your Web.Release.config:

<system.web>
  <trust level="Full" xdt:Transform="Insert" />
</system.web>
<system.codedom xdt:Transform="Remove" /> <!-- No compiling on server, GoDaddy blocks it. -->

UPDATE (1/27/2017): It appears (at least on my account) that removing system.codedom is no longer required.

Solution 3

I had same issue on GoDaddy hosting.

To fix it follow these steps.

Step 1: Choose "Precompile during publish" in Web Deploy settings.

Step 2: <trust level="Full" /> in <system.web> in Web.config

Solution 4

I removed the Roslyn nuget package like explained in the link below, but it's a workarround.

https://social.msdn.microsoft.com/Forums/en-US/442b100a-2b88-4ac4-b655-0c1345791f15/roslyn-cscexe-web-api-2-on-hosting-server?forum=msbuild

This problem happens with a clean mvc 5 web project from visual studio 2015 template. I contacted the godaddy support, let's see what they do.

Solution 5

Excellent. I also have same problem. However, my hosting vendor is arvixe.

  1. Add >trust level="Full" />" under >system.web> section in Web.config
  2. comment out >compilers> section of the >codedom> in Web.config

The problem Fixed!!!

Share:
18,186
Keith Franklin
Author by

Keith Franklin

Updated on July 06, 2022

Comments

  • Keith Franklin
    Keith Franklin almost 2 years

    Have seen several posts about deploying MVC apps to GoDaddy. None of them seem to address the issue we are having. We have followed the advice about checking runtime versions, IIS pipeline modes, publishing and copy local to true on assemblies so all works on GoDaddy.Com.

    The issue we are having is that when we try to visit the site we get a Group Policy exception because ASP.NET runtime is trying to invoke the C# compiler.

    [Win32Exception (0x80004005): This program is blocked by group policy. For more information, contact your system administrator]

    [ExternalException (0x80004005): Cannot execute a program. The command being executed was "C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe".........

    We have gone through the publish settings and elected to precompile the site. That didn't fix the issue. Have looked at the site and there are no CS files deployed. The Global.asax file does reference a codebehind file. Since we precompiled the site we tried deleting the global.asax file and that doesn't fix the issue either.

    Any thoughts would be great.

  • Jonathan Wood
    Jonathan Wood over 8 years
    What they did with me is tell me "Sorry, you have the trust level already set to Full so guess you'll need to find another hosting company." WTF am I missing here?
  • utilsit
    utilsit over 8 years
    They said that by phone support?
  • Jonathan Wood
    Jonathan Wood over 8 years
    Yes. Not in as many words, but that was there message. And they told me if I needed any privileges not supported on that account, then I'll need to find a hosting account with different privileges.
  • Mathieu Guindon
    Mathieu Guindon about 8 years
    ^^ that is the answer. Set full trust, and remove everything in the <system.codedom> node. Your answer is under-voted.
  • ozgunb
    ozgunb about 8 years
    thank you, I have been searching the solution about 2 days
  • johnnyRose
    johnnyRose almost 8 years
    Thank you! This is a problem I've run into recently which I haven't seen before. The trust level="Full" part I've had to do before, but I would never have thought to delete everything between the system.codedom tags.
  • Jonathan Wood
    Jonathan Wood almost 8 years
    Incredible. After spending hours and hours trying to rework my connection string, commenting out those language tags inside <system.codedom> solved it for me What a PITA!!!
  • Mike
    Mike over 7 years
    This is a better approach than the higher rated answer involving manually changing the config. Both approaches solve the problem however.
  • mapussah
    mapussah almost 7 years
    I had the same issue with ASP.Net Web API. Thanks a billion! This works.
  • Zahid Usman Cheema
    Zahid Usman Cheema almost 6 years
    Allah tera bhalla kre pai.
  • Zahid Usman Cheema
    Zahid Usman Cheema almost 6 years
    Many Thanks. This worked for me after wasting 2 days.
  • BrianLegg
    BrianLegg about 5 years
    logged in just to upvote this answer. Searched for hours and tried everything. Removing the code between <system.codedom> was the key to getting my application to work on GoDaddy.
  • Nitesh
    Nitesh over 4 years
    Spot on! Fixed in a second.