Visual Studio 2015,Microsoft Fakes和System.Security.Claims.Claim

时间:2015-07-21 13:50:37

标签: .net .net-4.5 visual-studio-2015 microsoft-fakes .net-4.6

我在.NET 4.5(而不是4.6)类库中有一个接口,

public interface IBrokenFakeInterface
{
    Claim WhyWontItGenerateFakeOfThisInterface();
}

在我的单元测试项目(MSTest)中,当我为包含此接口的相应程序集添加了Fakes时,我收到编译器警告,指出它无法生成存根。

  

警告:无法为ClassLibrary1.IBrokenFakeInterface生成存根:   方法System.Security.Claims.Claim   ClassLibrary1.IBrokenFakeInterface.WhyWontItGenerateFakeOfThisInterface()   unstubbable:方法是抽象的,不能被存根,类型   System.Security.Claims.Claim在目标框架中不可用   版。 ClassLibrary1Tests C:\ Users \ jacobsonba \ Documents \ Visual   工作室   2015 \ Projects_tempFakeFiguringOut \ ClassLibrary1Tests \伪造品\ ClassLibrary1.fakes

虽然这只是编译器警告,但当单元测试项目依赖于StubIBrokenFakeInterface时会导致编译器错误,因为伪造生成器不会创建Stub具体类型。

有谁知道这个错误的原因和解决方案? 将项目更改为.NET 4.6可以解决它,但对我们来说这对于这些项目来说不是一个合理的选择。完全相同的代码在VS2013中编译得很好;实际上,如果用VS2013编译,然后在VS2015中打开解决方案,它将继续工作,直到Fakes组件重新生成。所以它显然是VS2015正在使用的假发电机的一个问题。

0 个答案:

没有答案