Noda 时间单元测试 XML 错误
Noda Time Unit Testing XML Error
我正在尝试使用 Noda Time 设置一个简单的单元测试。我的代码是:
public void ValidityPassedDate()
{
FakeClock fakeClock = new FakeClock(SystemClock.Instance.Now);
fakeClock.AdvanceDays(60);
MyClass myObj = new MyClass(fakeClock);
myObj.Validity = "1";
myObj.Date = SystemClock.Instance.Now.InZone(DateTimeZoneProviders.Tzdb.GetSystemDefault()).LocalDateTime.Date;
Assert.IsTrue(myObj.ValidityIsValid);
}
但是当我尝试构建测试时出现此错误:
error CS0012: The type 'System.Xml.Serialization.IXmlSerializable' is
defined in an assembly that is not referenced. You must add a
reference to assembly 'System.Xml, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=----------(I erased this on purpose)'.
我该如何解决这个问题?少了什么东西? VS2013 将错误指向 "FakeClock fakeClock =..."
中的 FakeClock
类型
您需要将 reference 添加到 System.Xml
程序集(而不是 System.Xml
命名空间的 using
指令)。在解决方案资源管理器中执行此操作 - 这不是代码问题。
这很不幸,但据我所知,这是 Noda Time 实施 XML 序列化的不可避免的副作用...大概是由于用于装饰类型的属性。
我正在尝试使用 Noda Time 设置一个简单的单元测试。我的代码是:
public void ValidityPassedDate()
{
FakeClock fakeClock = new FakeClock(SystemClock.Instance.Now);
fakeClock.AdvanceDays(60);
MyClass myObj = new MyClass(fakeClock);
myObj.Validity = "1";
myObj.Date = SystemClock.Instance.Now.InZone(DateTimeZoneProviders.Tzdb.GetSystemDefault()).LocalDateTime.Date;
Assert.IsTrue(myObj.ValidityIsValid);
}
但是当我尝试构建测试时出现此错误:
error CS0012: The type 'System.Xml.Serialization.IXmlSerializable' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=----------(I erased this on purpose)'.
我该如何解决这个问题?少了什么东西? VS2013 将错误指向 "FakeClock fakeClock =..."
FakeClock
类型
您需要将 reference 添加到 System.Xml
程序集(而不是 System.Xml
命名空间的 using
指令)。在解决方案资源管理器中执行此操作 - 这不是代码问题。
这很不幸,但据我所知,这是 Noda Time 实施 XML 序列化的不可避免的副作用...大概是由于用于装饰类型的属性。