tha*_*awg 4 .net c# compiler-errors
我曾遇到过.Net开发中最奇怪的问题.我正在编译一个在UserInfo类中新添加属性DeviceID的库.库内部使用了类型和它的新属性就好了,但是当我尝试从另一个库中引用它时,编译器会重新启动编译器错误说明
'library.UserInfo' does not contain a definition for 'DeviceID' and no extension
method 'DeviceID' accepting a first argument of type 'library.UserInfo' could
be found
Run Code Online (Sandbox Code Playgroud)
即使我的类定义如下:
public class UserInfo
{
public static UserInfo Current
{
get
{
if (UserInfoPrincipal.Current != null)
{
return UserInfoPrincipal.Current.UserData;
}
else
{
return null;
}
}
}
public string UserID { get; set; }
public string DeviceID { get; set; }
public string MikeLiUserID { get; set; }
public string TransactionServer { get; set; }
public string ApplicationKey { get; set; }
public string IpAddress { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
违规代码如下:
internal LogDetail BuildLogDetail(LogType entryType, string message)
{
return new LogDetail
{
ActingUserID = UserInfo.Current.UserID,
ActingDeviceID = UserInfo.Current.DeviceID,
ApplicationKey = UserInfo.Current.ApplicationKey,
IpAddress = UserInfo.Current.IpAddress,
EntryType = entryType,
OwnerID = UserInfo.Current.UserID,
LogData = message
};
}
Run Code Online (Sandbox Code Playgroud)
我想要注意的是UserInfo类的所有其他成员都正确地通过编译器,它只是今天添加的DeviceID导致了问题.我已经尝试了Clean All,我尝试从TFS刷新所有内容,手动删除两个项目的obj和bin目录......没有任何工作.
更新:此代码是库的一部分,可以正常工作:
public class UserInfoPrincipal : IPrincipal
{
public static UserInfoPrincipal Current
{
get
{
if (Thread.CurrentPrincipal is UserInfoPrincipal)
return (UserInfoPrincipal)Thread.CurrentPrincipal;
else
return null;
}
}
...
internal UserInfo UserData
{
get { return _userInfo; }
}
public string DeviceID
{
get { return _userInfo.DeviceID; }
}
...
}
Run Code Online (Sandbox Code Playgroud)