Web config ';compilerVersion';提供程序选项中的属性必须为';v4.0';或者以后

Web config ';compilerVersion';提供程序选项中的属性必须为';v4.0';或者以后,web-config,asp.net-4.0,Web Config,Asp.net 4.0,获取此错误: “compilerVersion”的值 提供程序选项中的属性必须为 如果需要,请使用“v4.0”或更高版本 为的4.0或更高版本编译 NET框架。要编译这个 3.5或更高版本的Web应用程序 在.NET Framework的早期版本中,删除 中的“targetFramework”属性 要素 Web.config文件 它在我们的开发系统上工作,我们现在使用xcopy类型deploy部署到QA web.config中没有“compilerVersion”,targetFramework

获取此错误:

“compilerVersion”的值 提供程序选项中的属性必须为 如果需要,请使用“v4.0”或更高版本 为的4.0或更高版本编译 NET框架。要编译这个 3.5或更高版本的Web应用程序 在.NET Framework的早期版本中,删除 中的“targetFramework”属性 要素 Web.config文件

它在我们的开发系统上工作,我们现在使用xcopy类型deploy部署到QA

web.config中没有“compilerVersion”,targetFramework设置为“4.0”。我们做了一次调查

<system.web>

        <compilation debug="true" targetFramework="4.0">
        <assemblies>
            <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        </assemblies>
    </compilation>

更新2:当我们删除整个部分时,我们克服了错误。所以我的问题是,如果我们使用的是.NET4.0,那么在这一节中离开有什么不对

我们刚刚对QA做了一个完整的xcopy测试,在QA中它得到了错误,而开发人员没有。因此,软件和配置是相同的。为什么它只能在一台服务器上工作而不能在另一台服务器上工作?IIS选项似乎是相同的

此处可能的解决方案-

取自:

您应该转到服务器根web.config并包含整个
将内容标记到

标签

在与此进行了一段时间的斗争之后,我最终使用不同的端口创建了一个新的IIS站点,并将我的ASP.Net 3.5应用程序添加到新站点,它工作得非常好。

我遇到了相同的错误,发现我的v4.0站点托管在默认的v2.0站点下。如果您有这样的设置,则需要从web.config中删除以下行:

<compilation defaultLanguage="c#" debug="true" targetFramework="4.0"/>


我希望这会有帮助。

谢谢,但我们确实需要4.0,IIS ASP.NET版本设置为4.0.30319。@Neal。那篇文章是4.0版的。看看答案。这个标题有误导性。在web.config层次结构(应用程序级、站点级等)的某个地方,有一个指向.NET 3.5的/标记,这会使web服务器感到困惑。区别在于,它们具有上面的链接,但该链接不再工作。对于那些有麻烦的人,请查看这篇MS文章:可能的解决方案真棒,节省了我几乎浪费4小时的生命。