The miriad of different web.config settings have always been a bit of a mystery to me. I'm glad Microsoft has cleaned up some of the content put there by default, but it's still causing problems.
Specifically, Visual Studio 2015 is placing the following section in the generated web.config of a standard ASP.NET MVC application.
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"/>
</compilers>
</system.codedom>
When I upload this application on to my GoDaddy shared Plesk hosting account, I get the following error.
This program is blocked by group policy. For more information, contact your system administrator.
GoDaddy support is completely unwilling and unable to provide any assistance. However, I found that if I comment out the section above, the error goes away.
Does anyone know the purpose of this block or why Microsoft puts it there? My app seems to run okay without it. (Note that my app uses C# and not VB.)
<system.codedom>
<!--remove all the contents here-->
</system.codedom>
Remove all the contents inside the system.codedom
tag and add
<trust level="Full"/>
inside system.web
tag
<system.web>
<trust level="Full"/>
</system.web>