网络.配置导致“组策略阻止”;错误

本文关键字:组策略阻止 错误 策略 配置 网络 | 更新日期: 2023-09-27 18:12:51

无数不同的网页。Config 设置对我来说一直有点神秘。我很高兴微软已经清理了默认设置的一些内容,但它仍然会引起问题。

具体来说,Visual Studio 2015将以下部分放在生成的web中。配置标准ASP. config。. NET MVC应用程序。
<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>

当我将这个应用程序上传到我的GoDaddy共享Plesk托管帐户时,我得到以下错误:

该程序被组策略阻止。有关详细信息,请与系统管理员联系。

GoDaddy support是完全不愿意也无法提供任何帮助的。然而,我发现如果我注释掉上面的部分,错误就会消失。

有谁知道这个块的目的或者为什么微软把它放在那里吗?

网络.配置导致“组策略阻止”;错误

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

删除system.codedom标签内的所有内容并添加

<trust level="Full"/>

inside system.web tag

<system.web>
   <trust level="Full"/>
</system.web>

. NET 2是否可以将您的站点上传到主机而不编译它。然后,网站将根据初始请求使用web.config中的编译器设置进行编译。如果您预编译您的网站,但仍然有代码在App_code文件夹中,这些设置将用于编译代码。

我认为go-daddy在他们的服务器上禁用了编译,这样就没有恶意代码可以插入和编译/执行。

只要你不使用App_code文件夹和你预编译你的网站,你可以删除你提到的web.config部分。

有关App_code文件夹的更多信息,请检查:

  • https://msdn.microsoft.com/en-us/library/ex526337.aspx
  • https://msdn.microsoft.com/en-us/library/t990ks23.aspx

有关ASP动态编译的更多信息。净检查:

  • https://msdn.microsoft.com/en-us/library/ms366723 (v = vs.100) . aspx

我意识到这有点晚了,但我通过删除元素中的所有内容解决了这个问题。这似乎对预编译和其他方式都有效。

在您的服务器上更改Asp.net设置。有一个信任级别选项。设置为"Full"