1

配置:Visual Studio 2012 高级版 + 更新 2

嗨,我的 unitTest 项目使用了两个 Fake 程序集。其中一个程序集会产生构建错误,我真的不知道为什么。如果我把这个程序集取下来,编译就可以了。错误是“结果:发生意外异常(-1002 - 0xfffffc16)”

我看过其他一些有同样错误的帖子,但这是因为 Moles 组装。有人有解决这个问题的方法吗?

这是构建结果的一部分:

.fakes Fakes\Technical.Sdk.fakes will generate ...\Workflow.UnitTests\FakesAssemblies\Technical.Sdk.Fakes.dll
  verbosity: Warning
  x86: False
  framework version: v4.5
  target runtime version: v4.0.30319
  ReferenceFiles: 78
    ...\packages\AutoMapper.3.0.0-ci1037\lib\net40\AutoMapper.dll
    ...\packages\AutoMapper.3.0.0-ci1037\lib\net40\AutoMapper.Net4.dll
    ...\Lib\Directory.Proxy.dll
    ...\Lib\Platform.Common.dll
    ...\Lib\Platform.Interfaces.dll
    ...\bin\Release\Technical.EntityFramework.dll
    ...\bin\Release\Technical.Sdk.dll
    ...\bin\Release\Technical.ServiceBus.dll
    D:\371\BuildType\..\src\Main\Source\bin\Release\Microsoft.Practices.Prism.dll
    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies\Microsoft.QualityTools.Testing.Fakes.dll
    ...\Lib\Microsoft\Microsoft.ServiceBus.dll
    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
    ...\Lib\Moq\Moq.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll
    ...\Lib\AutoFixture\Ploeh.AutoFixture.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Xml.dll
    ...\bin\Release\WFCommon.Context.dll
    ...\bin\Release\WFCommon.DataTransferObjects.dll
    ...\bin\Release\WFCommon.LoggingExceptions.dll
    ...\bin\Release\WFCommon.ServiceBusContract.dll
    ...\bin\Release\Workflow.Bll.dll
    ...\Workflow.UnitTests\FakesAssemblies\Workflow.Bll.Fakes.dll
    ...\bin\Release\Workflow.BusinessObjects.dll
    ...\bin\Release\Workflow.Dal.dll
    ...\bin\Release\Workflow.ServerContext.dll
    ...\bin\Release\Workflow.ServiceBus.dll
    ...\bin\Release\EntityFramework.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Configuration.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Data.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Core.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Data.Entity.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Web.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\Microsoft.CSharp.dll
    ...\bin\Release\Sdk.dll
    ...\bin\Release\PresentationCore.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\WindowsBase.dll
    ...\bin\Release\Sdk.Media.dll
    ...\bin\Release\RestSharp.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Runtime.Serialization.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Xml.Linq.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ServiceModel.dll
    ...\bin\Release\Microsoft.Practices.TransientFaultHandling.Core.dll
    ...\bin\Release\Microsoft.Practices.EnterpriseLibrary.WindowsAzure.TransientFaultHandling.dll
    ...\bin\Release\...Technical.Util.dll
    ...\bin\Release\PresentationFramework.dll
    ...\bin\Release\Microsoft.Practices.EnterpriseLibrary.Logging.dll
    ...\bin\Release\Microsoft.Practices.Composite.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Drawing.dll
    ...\bin\Release\EFTracingProvider.dll
    ...\bin\Release\EFProviderWrapperToolkit.dll
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Windows.Forms.dll
    C:\Program Files (x86)\Reference 
...
Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.EnterpriseServices.dll
    ...\bin\Release\Microsoft.Practices.Unity.dll
  framework assembly path: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies
  output path: ...\Workflow.UnitTests\FakesAssemblies
  intermediate path: ...\Workflow.UnitTests\obj\Release\Fakes



Fakes: 2 (2 .fakes files)
    Fakes\Workflow.Bll.fakes
    Fakes\Technical.Sdk.fakes
  fakes tool: C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Fakes\fakes.x86.exe
  result: unexpected exception occured (-1002 - 0xfffffc16)
  Fakes assemblies:
    ...\Workflow.UnitTests\FakesAssemblies\Workflow.Bll.Fakes.dll
    ...\Workflow.UnitTests\FakesAssemblies\Workflow.Bll.Fakes.fakesconfig
Done Building Project "...\Workflow.UnitTests\Workflow.UnitTests.csproj" (default targets) -- FAILED.

谢谢。

4

1 回答 1

2

这表明 Fakes 代码生成器没有准备好妥善处理问题。要对其进行故障排除,请通过在 .FAKES 文件的 Fakes 元素中设置 Verbosity="Noisy" 来增加日志记录的详细程度。这将使 Fakes 代码生成器向 MSBuild 日志写入更多信息,并希望能帮助您识别问题。确保在 Visual Studio 选项或命令行中将 MSBuild 日志详细级别设置为详细或诊断级别,因为 Fakes 不会将诊断信息以较低的详细级别写入 MSBuild 日志。

如果可以将问题缩小到一个小型重现项目,我鼓励您在http://connect.microsoft.com/visualstudio提交它。

于 2013-08-07T19:11:02.923 回答