枚举在跨多个 visual studio 引用时无法工作解决方案
Enum cannot work when reference it cross multi visual studio solution
我有A、B、C三种方案。
我在 A 中有一个这样的枚举:
using System.Runtime.Serialization;
namespace A.Entities
{
[DataContract]
public enum Status
{
[DataMember]
Active = 0,
[DataMember]
Inactive = 1,
}
}
我在解决方案 B 中这样引用它:
using A.Entities;
namespace B.Entities
{
public class User
{
[DataMember]
public string UserName { get; set; }
[DataMember]
public Status Status { get; set; }
}
}
在解决方案 C 中,我这样使用它们:
using B.Entities;
using Status = A.Entities.Status;
namespace C.TestDatas
{
public class UserTestData
{
public static User CreateUser()
{
return new User
{
Status = Status.Active,
}
};
}
}
当我调用 User 方法时,它抛出异常:
Method not found: 'Void B.Entities.User.set_Status(A.Entities.Status)'.
为什么?希望有人能帮帮我,谢谢!
我无法重现问题。您的代码在我的计算机上运行良好(在 .NET Framework 4.5 上)
您能否确保您的项目配置正确:
A
和 B
解决方案都参考了 System.Runtime.Serialization
C
引用了 A
和 B
。确保你没有 link 来自 /Bin
文件夹的 dll,但你有项目引用
- 点击 Visual Studio 中的清理和重建按钮。
我有A、B、C三种方案。 我在 A 中有一个这样的枚举:
using System.Runtime.Serialization;
namespace A.Entities
{
[DataContract]
public enum Status
{
[DataMember]
Active = 0,
[DataMember]
Inactive = 1,
}
}
我在解决方案 B 中这样引用它:
using A.Entities;
namespace B.Entities
{
public class User
{
[DataMember]
public string UserName { get; set; }
[DataMember]
public Status Status { get; set; }
}
}
在解决方案 C 中,我这样使用它们:
using B.Entities;
using Status = A.Entities.Status;
namespace C.TestDatas
{
public class UserTestData
{
public static User CreateUser()
{
return new User
{
Status = Status.Active,
}
};
}
}
当我调用 User 方法时,它抛出异常:
Method not found: 'Void B.Entities.User.set_Status(A.Entities.Status)'.
为什么?希望有人能帮帮我,谢谢!
我无法重现问题。您的代码在我的计算机上运行良好(在 .NET Framework 4.5 上)
您能否确保您的项目配置正确:
A
和B
解决方案都参考了System.Runtime.Serialization
C
引用了A
和B
。确保你没有 link 来自/Bin
文件夹的 dll,但你有项目引用- 点击 Visual Studio 中的清理和重建按钮。