wake-up-neo.com

Web.config verursacht den Fehler "Blockiert durch Gruppenrichtlinie"

Die unterschiedlichen Einstellungen von web.config waren für mich immer ein Rätsel. Ich bin froh, dass Microsoft einige Inhalte standardmäßig bereinigt hat, die jedoch immer noch Probleme verursachen.

Visual Studio 2015 platziert den folgenden Abschnitt speziell in der generierten Datei web.config einer Standard-ASP.NET-MVC-Anwendung.

<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=\&quot;Web\&quot; /optionInfer+"/>
  </compilers>
</system.codedom>

Wenn ich diese Anwendung auf mein GoDaddy-Konto mit geteiltem Plesk-Hosting hochlade, wird die folgende Fehlermeldung angezeigt.

Dieses Programm ist durch Gruppenrichtlinien blockiert. Weitere Informationen erhalten Sie von Ihrem Systemadministrator.

Der GoDaddy-Support ist völlig unwillig und kann keine Unterstützung leisten. Ich habe jedoch festgestellt, dass der Fehler behoben wird, wenn ich den obigen Abschnitt auskommentiere.

Kennt jemand den Zweck dieses Blocks oder warum Microsoft es dort setzt? Meine App scheint ohne sie gut zu laufen. (Beachten Sie, dass meine App C # und nicht VB verwendet.)

22
Jonathan Wood

Seit ASP.NET 2 können Sie Ihre Website ohne Kompilierung in Ihr Hosting hochladen. Dann wird die Site bei der ersten Anforderung mit den Compilereinstellungen kompiliert, wie in der web.config zu sehen ist. Wenn Sie Ihre Site vorkompilieren, jedoch noch Code im Ordner App_code haben, werden diese Einstellungen zum Kompilieren dieses Codes verwendet.

Ich denke, dass Go-Daddy das Kompilieren auf ihren Servern deaktiviert hat, sodass kein bösartiger Code irgendwie eingefügt und kompiliert/ausgeführt werden kann.

Solange Sie den Ordner App_code nicht verwenden und Ihre Website vorkompilieren, können Sie den von Ihnen erwähnten Abschnitt web.config löschen.

Weitere Informationen zum Ordner App_code finden Sie unter:

Weitere Informationen zum dynamischen Kompilieren von ASP.NET finden Sie unter:

12
SynerCoder
<system.codedom>
   <!--remove all the contents here-->
</system.codedom>

Entfernen Sie alle Inhalte im system.codedom-Tag und fügen Sie sie hinzu

<trust level="Full"/>

im system.web-Tag

<system.web>
   <trust level="Full"/>
</system.web>
40
Prince Prasad

Ich weiß, dass dies etwas spät ist, aber ich habe dieses Problem gelöst, indem der gesamte Inhalt des Elements gelöscht wurde. Dies scheint sowohl für vorkompilierte als auch für andere Zwecke zu funktionieren. 

1
Jonathan

Ändern Sie auf Ihrem Server die Asp.net-Einstellungen. Es gibt eine Option für den Vertrauensgrad. Stellen Sie "Full" ein.