百种不同的设置对我来说一直是个谜.我很高兴微软已经清理了一些默认放在那里的内容,但它仍在造成问题.

具体地说,Visual Studio2015将以下部分放在标准ASP.NETMVC应用程序的生成web.config中.

<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>

当我将此应用程序上传到我的GoPardy共享Plesk主机帐户时,我收到以下错误.

此程序被组策略阻止.有关详细信息,请与您的系统管理员联系.

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

有人知道这一块的用途吗?或者微软为什么把它放在那里?没有它,我的应用程序似乎运行正常.(请注意,我的应用程序使用C#而不是VB.)

推荐答案

自ASP.NET2以来,无需编译即可将您的站点上传到您的主机上.然后,将使用web.config中看到的编译器设置在初始请求时编译站点.如果您预编译了站点,但在App_code文件夹中仍有代码,则这些设置将用于编译该代码.

我认为Go-addy禁用了他们服务器上的编译,这样就不会有恶意代码以某种方式被插入和编译/执行.

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

有关App_code文件夹判断的更多信息:

有关动态编译ASP.NET判断的详细信息,请执行以下操作:

Asp.net相关问答推荐

Visual Studio发布的网站得到错误类型JObject is not defined when page is load on server"''"

格式化 DataBinder.Eval 数据

创建一个供 ASP.NET 应用程序中的所有线程使用的静态 Regex 对象是否有效?

如何使用三个按钮是否和取消显示确认alert ,如 MS Word 中所示

在属性中实现逻辑是一种好习惯吗

在 Blazor 中 Select 框绑定

Jquery asp.net 按钮单击事件通过 ajax

UseSqlServer 方法缺少 MVC 6

使用 Visual Studio 2012 恢复删除的文件

发布发布事件

是否应该将 project.lock.json 文件签入源代码管理? (ASP.NET 核心 1.0)

ASP.NET Core 2.0 为同一端点结合了 Cookie 和承载授权

如何将 LINQ 左外连接限制为一行

使用 .NET 连接到 AS400

当用户在文本框中按 Enter 键时执行按钮单击事件

Docker 中的 ASPNETCORE_ENVIRONMENT

ASP.NET Excel 导出编码问题

使用 ConfigurationManager.RefreshSection 重新加载配置而不重新启动应用程序

可以在不 destruct 站点的情况下将 MIME 类型添加到 web.config 吗?

以编程方式滚动到锚标记