Asp.net mvc 4 mvc4,WebMatrix引用和Windows身份验证出现问题

Asp.net mvc 4 mvc4,WebMatrix引用和Windows身份验证出现问题,asp.net-mvc-4,windows-authentication,Asp.net Mvc 4,Windows Authentication,我在这里遇到了一个恼人的情况,有一个MVC4站点。首先,您需要知道它使用Windows身份验证,我还想使用simplemembership角色(但我认为这不起作用——但这不是我问题的重点)。基本上,该站点在我的dev机器(使用IISExpress)和测试机器(使用常规IIS)上运行。但它在生产环境中不起作用。出现错误“无法加载文件或程序集WebMatrix.WebData,版本=2.0.0.0” WebMatrix.WebData引用具有CopyLocal=False(这在dev和test中起作

我在这里遇到了一个恼人的情况,有一个
MVC4
站点。首先,您需要知道它使用Windows身份验证,我还想使用
simplemembership
角色(但我认为这不起作用——但这不是我问题的重点)。基本上,该站点在我的
dev
机器(使用
IIS
Express)和测试机器(使用常规
IIS
)上运行。但它在生产环境中不起作用。出现错误“无法加载文件或程序集
WebMatrix.WebData,版本=2.0.0.0

WebMatrix.WebData
引用具有
CopyLocal=False
(这在
dev
test
中起作用)如果我设置
CopyLocal=True
,那么身份验证就会失控。特别是,当您访问该站点时,它会尝试重定向到
login.aspx
(显然不是一个
MVC
组件)。所以,我的问题是为什么会发生这种情况?我该如何修复

下面是我在配置中的system.web元素下得到的内容:

<roleManager enabled="true">
  <providers>
    <clear/>
    <add name="simple" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
  </providers>
</roleManager>
<membership>
  <providers>
    <clear/>
  </providers>
</membership>
<authentication mode="Windows" />


为了理解这个问题,我已经尝试了很多次,但是我不知道我在这个配置部分做什么/可以做什么。我想知道在尝试使用
SimpleRoleProvider
时,清除所有成员资格提供程序是否有问题。(我尝试删除了
SimpleRoleProvider
,但这对问题没有任何影响。)

顺便说一句,我有WebMatrix引用的原因是,我可以在不在控制器内部的情况下获取当前用户名。(WebSecurity.CurrentUserName在控制器外部工作。)可能重复: