3

我在 Visual Studio 2010 上,目标是 4.0。这个 web.config 有什么问题?

我在本地 Web 服务器上收到 500 错误:无法读取配置部分“system.webserver”,因为它缺少部分声明

<?xml version="1.0"?>
<configuration>
    <system.web>
        <compilation debug="true" targetframework="4.0">
            <authentication mode="None">
            </authentication>
        </compilation>
    </system.web>
    <system.webserver>
        <modules runallmanagedmodulesforallrequests="true">
        </modules>
    </system.webserver>
    <system.servicemodel>
        <servicehostingenvironment aspnetcompatibilityenabled="true">
            <standardendpoints>
                <webscriptendpoint>
                    <standardendpoint crossdomainscriptaccessenabled="true">
                    </standardendpoint>
                </webscriptendpoint>
            </standardendpoints>
        </servicehostingenvironment>
    </system.servicemodel>
</configuration>

它在 VS 中给了我这些警告:

警告 1 p:\jcp\WCF1\WCF1\Service1.svc: ASP.NET 运行时错误:无法识别的配置节 system.webserver。(p:\jcp\WCF1\WCF1\web.config 第 9 行) p:\jcp\WCF1\WCF1\Service1.svc 1 1 WCF1

警告 2 不允许使用“targetframework”属性。p:\jcp\WCF1\WCF1\Web.config 4 29 WCF1

警告 3 元素“编译”具有无效的子元素“身份验证”。预期的可能元素列表:“程序集、buildProviders、codeSubDirectories、expressionBuilders、folderLevelBuildProviders”。p:\jcp\WCF1\WCF1\Web.config 5 5 WCF1

我已将我的项目设置为使用本地 IIS 并在虚拟上创建。我的客户端是带有 iis7 的 Windows 7 pro,文件夹的 apppool 设置为 4.0。我需要在客户端上安装 .net 3.5 吗?

4

2 回答 2

9

我认为有几个问题可能会导致您看到的错误:

  1. Web.configs 区分大小写。您需要对文本进行驼峰式大小写(例如system.webServer, targetFramework, system.serviceModel.)
  2. system.web.authentication是 的同级system.web.compilation,而不是它的子级。
于 2013-01-27T14:06:32.270 回答
1

我也有这个拼写错误,花了我几次才发现我错过了环境中的'n',值得将整个文件放在 VS proj 中让它测试它

于 2014-01-07T10:40:55.607 回答