将ASP.NET MVC4 App部署到GoDaddy编译器问题

时间:2014-07-08 17:39:35

标签: asp.net asp.net-mvc-3 asp.net-mvc-4 web-hosting

已经看过几篇关于向GoDaddy部署MVC应用的帖子。他们似乎都没有解决我们遇到的问题。我们遵循了有关检查运行时版本,IIS管道模式,发布和将本地复制到true的建议,因此所有工作都适用于GoDaddy.Com。

我们遇到的问题是,当我们尝试访问该站点时,我们会收到组策略异常,因为ASP.NET运行时正在尝试调用C#编译器。

  

[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".........

我们已经完成了发布设置,并选择预编译该网站。这没有解决问题。查看了该站点,并且没有部署CS文件。 Global.asax文件确实引用了代码隐藏文件。由于我们对网站进行了预编译,因此我们尝试删除global.asax文件,但这也无法解决问题。

任何想法都会很棒。

6 个答案:

答案 0 :(得分:101)

几个月来,我一直在努力解决同样的问题。最后解决了它。在godaddy的plesk中,我更改了ASP.Net设置。首先将CAS-trustlevel更改为Full。然后,我在项目的Web.config中更改了以下内容:

  • 将信任级别添加到system.web
  • 删除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>

这解决了我的问题。

答案 1 :(得分:17)

您必须从Web配置中删除编译信息,它才能正常工作。

除了预编译(选中发布设置中的框),还要将以下内容添加到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. -->

更新(1/27/2017): 看来(至少在我的帐户中)不再需要删除system.codedom。

答案 2 :(得分:8)

我在GoDaddy托管上遇到了同样的问题。

要修复它,请按照以下步骤操作。

步骤1:在“Web部署设置”中选择“在发布期间预编译”。

步骤2:{。{1}}中的<trust level="Full" />在Web.config

答案 3 :(得分:5)

我删除了Roslyn nuget包,如下面链接中所述,但它是一个解决方案。

  

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

使用visual studio 2015模板中的干净mvc 5 Web项目会发生此问题。 我联系了godaddy的支持,让我们看看他们做了什么。

答案 4 :(得分:3)

优异。我也有同样的问题。但是,我的托管供应商是arvixe。

  1. 在Web.config中添加&gt; trust level =“Full”/&gt;“&gt; system.web&gt;部分
  2. 评论&gt;编译器&gt; &gt; codedom&gt;的部分在Web.config
  3. 问题修复!!!

答案 5 :(得分:1)

发布后

csc.exe编译器错误

下面关于web.config的评论

<!--<compilers>
  <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.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.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>-->