我用winform程序写了一个获取用户电子邮件地址的程序,这个程序是几年前在.NET framework 4.0下写的,为了获取用户的电子邮件地址,我使用了下面这行代码:
using System.DirectoryServices.AccountManagement;
string sUserEmailAddress = UserPrincipal.Current.EmailAddress;
这个方法奏效了。几天前我的电脑死机了。我换了一台新电脑,不得不重新安装VS22,.NET Framework是4.8。现在当我运行程序时,我得不到用户的电子邮件地址。我逐步执行程序,sUserEmailAddress = NULL。当我使用“立即”窗口时,我得到的是:
UserPrincipal.Current.EmailAddress
error CS0103: The name 'UserPrincipal' does not exist in the current context
我错过了什么?我错过了什么场景吗?
下面是代码的上半部分:
using System.DirectoryServices.AccountManagement;
namespace InvoiceEmailer
{
public partial class frmInvEmailer : Form
{
System.Data.DataTable dtConvertBills = new System.Data.DataTable();
DataSet ds = new DataSet();
Document document = null;
ArrayList cl = new ArrayList();
Hashtable cm = new Hashtable();
public static StreamWriter swl;
String sTranUno = "";
String emailAddress1 = "";
private string sUserId = "";
private string sUserEmailAddress = UserPrincipal.Current.EmailAddress;
1条答案
按热度按时间roejwanj1#
我还介绍了System. DirectoryServices. AccountManagement,使用了UserPrincipal.Current.EmailAddress.,没有出现CS0103错误,但对于此类错误,主要有以下几种解决方法。