为了支持在 Windows Store MVVM 应用程序中进行测试,我将 Models 和 ViewModels 拆分为单独的 PCL,仅针对 Windows Store 和 .NET 4.5。我有一个 .NET 4.5 单元测试项目,它引用了 Model/ViewModel PCL 并让它生成该 .dll 的假程序集
这一切都很好,直到我尝试构建项目,此时单元测试库无法在输出中构建:
framework assembly path: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies
output path: C:\Project\Project.UnitTest\FakesAssemblies
intermediate path: C:\Project\Project.UnitTest\obj\Release\Fakes
Fakes: 1 (1 .fakes files)
Fakes\Project.Portable.fakes
fakes tool: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Fakes\fakes.x86.exe
Microsoft Fakes v11.0.51106.1 - .NET v4.0.30319
Copyright (c) Microsoft Corporation 2007-2010. All rights reserved.
fakes
code : assembly C:\Project\Project.Portable\bin\Release\Project.Portable.dll failed to load properly
fakes generator 1 errors, 0 warnings
result: error while loading the assembly (-1005 - 0xfffffc13)
Microsoft Fakes v11.0.51106.1 - .NET v4.0.30319
Copyright (c) Microsoft Corporation 2007-2010. All rights reserved.
fakes
code : assembly C:\Project\Project.Portable\bin\Release\Project.Portable.dll failed to load properly
fakes generator 1 errors, 0 warnings
如果我从命令行对项目手动运行 fakes 生成器,它会成功。
我见过一些有不同问题的人在构建中生成假货,也可以通过命令行来完成,但失败不同。我可以直接引用 fakes .dll 而不是在构建中生成它,并确保每次项目更改时我都手动生成它,但这对我来说似乎是最后的手段。