IIS Express会自动禁用我的项目的匿名身份验证,为什么?

Bor*_*ard 35 asp.net-mvc web-config visual-studio iis-express

当我将ASP.NET MVC项目从Cassini Web服务器切换到IIS Express时,会将其添加到我的applicationhost.config文件中:

<location path="MyProject">
    <system.webServer>
        <security>
            <authentication>
                <anonymousAuthentication enabled="false" />
                <windowsAuthentication enabled="false" />
            </authentication>
        </security>
    </system.webServer>
</location>
Run Code Online (Sandbox Code Playgroud)

它导致网站无法加载401.2 - 未经授权而我无法在Web.config级别修复它 - 然后它会抱怨该部分被锁定在父级别(HTTP 500.19).

我可以通过修改applicationhost.config文件来修复它,但我不明白为什么我不需要为vanilla ASP.NET MVC项目添加这样的部分.有什么不对?

我正在使用VS 11 beta,但也在2010 SP1中证实了这种奇怪的行为.IIS Express表示它的版本为7.5.

Bor*_*ard 76

这是因为出于某种原因,这是在我的csproj文件中:

<IISExpressAnonymousAuthentication>disabled</IISExpressAnonymousAuthentication>
Run Code Online (Sandbox Code Playgroud)

设置它以enabled解决问题(也可以从Visual Studio,选择项目,F4,在属性网格中将匿名身份验证设置为已启用).

  • 实际上是用于生成applicationhost.config的.csproj.user,项目的属性网格设置是从.csproj.user读取并写入到.csproj.user和*`.csproj`。我注意到,当我尝试用手修复.csproj时,它仍然无法正常工作。 (3认同)

Raj*_*air 5

请右键单击该项目,然后在按F4之前选择使用iis express.