Asp.net 如何在Razor中使用System.DirectoryServices.AccountManagement?

Asp.net 如何在Razor中使用System.DirectoryServices.AccountManagement?,asp.net,razor,directoryservices,Asp.net,Razor,Directoryservices,我从NuGet安装了System.DirectoryServices.AccountManagement,我可以在我的控制器中使用它。我试图在Razor视图中使用@UserPrincipal.Current.EmailAddress。我将名称空间添加到Views/Web.config: <system.web.webPages.razor> <pages pageBaseType="System.Web.Mvc.WebViewPage"> <

我从NuGet安装了
System.DirectoryServices.AccountManagement
,我可以在我的控制器中使用它。我试图在Razor视图中使用
@UserPrincipal.Current.EmailAddress
。我将名称空间添加到
Views/Web.config

<system.web.webPages.razor>
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
        <namespaces>
            <add namespace="System.DirectoryServices.AccountManagement"/>
        </namespaces>
    </pages>
</system.web.webPages.razor>

这给我留下了一个错误,因此我还添加了程序集引用:

<system.web>
    <compilation>
        <assemblies>
            <add assembly="System.DirectoryServices.AccountManagement, Version=4.5.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        </assemblies>
    </compilation>
</system.web>

我从
sn-T
获得了公钥令牌。但我仍然得到这个错误:

无法加载文件或程序集“System.DirectoryServices.AccountManagement,版本=4.5.0,区域性=中性,PublicKeyToken=b77a5c561934e089”或其依赖项之一。系统找不到指定的文件


我做错了什么,或者我还需要做什么?

仍然不知道为什么我不能直接引用
System.DirectoryServices.AccountManagement
中的类。但间接使用它们的效果与预期一样:

public static class UserHelper
{
    public static string GetEmail()
    {
        return UserPrincipal.Current.EmailAddress;
    }
}

我将以前的更改还原为
Views/Web.config
,并添加了该类所在的名称空间。现在我可以在Razor中使用
@UserHelper.GetEmail()

仍然不知道为什么我不能直接引用
System.DirectoryServices.AccountManagement中的类。但间接使用它们的效果与预期一样:

public static class UserHelper
{
    public static string GetEmail()
    {
        return UserPrincipal.Current.EmailAddress;
    }
}

我将以前的更改还原为
Views/Web.config
,并添加了该类所在的名称空间。现在我可以在Razor中使用
@UserHelper.GetEmail()

系统.DirectoryServices.AccountManagement
的引用应该在
'True'
上有
的“复制本地”


老实说,我看不出有什么理由这样做,因为这是一个框架库,但更改该设置对我来说是可行的。

System.DirectoryServices.AccountManagement
的引用应该在
上有
“Copy local”
“True”


老实说,我看不出有什么理由这样做,因为这是一个框架库,但更改该设置对我来说是可行的。

没有弄乱web.config,如果您这样做会发生什么:
@System.DirectoryServices.AccountManagement.UserPrincipal.Current.EmailAddress
?@mxmlclose“名称空间“System”中不存在类型或名称空间名称“DirectoryServices”(是否缺少程序集引用?)“如果没有弄乱web.config,则会发生什么情况:
@System.DirectoryServices.AccountManagement.UserPrincipal.Current.EmailAddress
?@mxl”命名空间“System”中不存在类型或命名空间名称“DirectoryServices”(是否缺少程序集引用?)